我有一个事务表(针对需要的列进行了简化):
id client_id value
1 1 200
2 2 150
3 1 350
4 2 100
我想返回client_id,其中sum(value)>=500。
我试过: SELECT client_id, sum(value) as total FROM transactions WHERE total >= 500;
该查询返回“#1054-where子句”中的未知列“total”
我也试过: SELECT client_id, sum(value) FROM transactions WHERE sum(value) >= 500; That query returns "#1111 - Invalid use of group function"
我也试过: SELECT client_id, sum(value) FROM transactions WHERE sum(value) >= 500 GROUP BY client_id;
该查询还返回“#1111-组函数的使用无效”
我花了几个小时寻找,还没有找到正确的问题,找到我的查询词,任何帮助感谢!
2条答案
按热度按时间mlnl4t2r1#
... HAVING SUM(value) >= 500
在sql中,WHERE
应用于单个行值,而HAVING
应用于跨行聚合值。v440hwme2#
其他两个答案都没有给出确切的问题,所以这里是: