如何计算哪个ID支付的平均费用最高?
我尝试了这个,但是我只在查询中得到,而不是两个:
select stelltan
from hilfsarbeiter
group by stelltan, arbeiternr
HAVING avg(lohn) >= all (SELECT avg(lohn)
from hilfsarbeiter
group by stelltan, arbeiternr)
答案 0 :(得分:0)
您可能希望为一组“ id”(lohn
)计算stelltan
的平均值。一旦我们计算出每个“ id”的平均值;我们只需要按照“平均已付款”值对结果集进行降序排序,并使用Limit 1
SELECT stelltan, AVG(lohn) AS average_paid
FROM hilfsarbeiter
GROUP BY stelltan
ORDER BY average_paid DESC LIMIT 1
自cannot use Limit起,我们可以修改您现有的尝试(基于子查询的方法):
SELECT stelltan
FROM hilfsarbeiter
GROUP BY stelltan
HAVING AVG(lohn) >= ALL (SELECT AVG(lohn)
FROM hilfsarbeiter
GROUP BY stelltan)