如何使用平均值进行分组?
How do I group by using an average?
我需要显示平均数量小于或等于 300 的商家的名称。
Table S:
BusNAME BusNUM
------- ---------
Bob A1
Lee A2
Ashley A3
Table SP:
BusNUM QTY
------- ---------
A1 300
A1 400
A1 100
A2 100
A2 100
A2 200
A3 400
A3 300
这就是我正在尝试的:
SELECT s.BusName
FROM S s
JOIN SP p ON p.BusNum = s.BusNum
GROUP By s.BusName
HAVING AVG(p.QTY) <= 300;
Select把BusNUM
和Qty
的平均值从tableSP
变成临时的table,然后做一个正常的加入!你可以这样做:
SELECT S.BusName
FROM S, (SELECT BusNUM, AVG(QTY) AS Average
FROM SP
GROUP BY BusNUM) Temporal
WHERE S.BusNUM = Temporal.BusNUM
AND Temporal.Average <= 300;
我需要显示平均数量小于或等于 300 的商家的名称。
Table S:
BusNAME BusNUM
------- ---------
Bob A1
Lee A2
Ashley A3
Table SP:
BusNUM QTY
------- ---------
A1 300
A1 400
A1 100
A2 100
A2 100
A2 200
A3 400
A3 300
这就是我正在尝试的:
SELECT s.BusName
FROM S s
JOIN SP p ON p.BusNum = s.BusNum
GROUP By s.BusName
HAVING AVG(p.QTY) <= 300;
Select把BusNUM
和Qty
的平均值从tableSP
变成临时的table,然后做一个正常的加入!你可以这样做:
SELECT S.BusName
FROM S, (SELECT BusNUM, AVG(QTY) AS Average
FROM SP
GROUP BY BusNUM) Temporal
WHERE S.BusNUM = Temporal.BusNUM
AND Temporal.Average <= 300;