我有一张表(表的链接:https://docs.google.com/spreadsheets/d/11P_ElrtCXwE3NYAoP-auO7w-Et_zd6omn-v-zMdu8KA/edit?usp=sharing),从中我必须找到每年销售额超过平均销售额的销售人员名单。
我在下面写了一个查询,但它不起作用。

SELECT t1.salesman, t1.AVG(sale), t1.year
SUM(CASE WHEN t1.AVG(sale)>t2.AVG(sale) THEN 1 ELSE 0 END)>0
FROM Sales_temp as t1
LEFT JOIN
(SELECT t2.year, t2.AVG(sale)
 FROM Sales_temp as t2
 Group by t2.year)
ON t1.year = t2.year
Group by t1.salesman

任何帮助都是非常可观的。

最佳答案

为后人着想,如果您使用的是MySQL8或更高版本,那么我们可以在这里使用分析函数:

SELECT year, salesman, sale
FROM Sales_temp
WHERE sale > AVG(sale) OVER (PARTITION BY year);

关于mysql - 查询以查找每年销售额超过平均销售额的推销员列表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51587153/

10-12 05:37