首页 > 解决方案 > SQL 在聚合函数上使用比较运算符

问题描述

我正在努力争取emp_id所有销售超过 100000 的人。

此查询返回所有员工及其销售额:

SELECT SUM(total_sales), emp_id 
FROM works_with
GROUP BY emp_id;

像这样的东西不起作用:

SELECT emp_id 
FROM works_with
WHERE SUM(total_sales), emp_id
GROUP BY emp_id > 100000;

我需要使用嵌套查询吗?

标签: sqloraclegroup-byaggregation

解决方案


对于此解决方案,您需要对数据进行分组emp_id,然后使用 group by 您需要使用having子句而不是where子句来过滤具有以下条件的数据SUM(total_sales)>100000

因此,您的第一个查询是完美的。你只需要添加 having SUM(total_sales)>100000它。

SELECT emp_id 
FROM works_with 
GROUP BY emp_id 
having SUM(total_sales)>100000;

推荐阅读