mysql - MySQL:带有 WHERE 子句的 SUM
问题描述
我有一个包含 clients_id 和付款数据的表。我尝试使用以下 SQL 查询汇总所有付款client_id
并使用子句过滤结果WHERE
:
SELECT client_id, SUM(payment) AS total_payment
FROM table1
WHERE total_payment >= 1000
GROUP BY client_id
此查询仅在没有 WHERE 子句的情况下工作。MySQL返回错误
#1054 - 'where 子句'中的未知列'total_payment'
任何指向正确方向的指针都会有所帮助。谢谢!
表 1 示例
| client_id | payment |
| --------- | ------- |
| 001 | 2000 |
| 001 | 20 |
| 002 | 1000 |
| 003 | 300 |
| 003 | 100 |
| 004 | 900 |
解决方案
您需要在 GROUP BY 情况下查看 HAVING
SELECT client_id, SUM(payment) AS total_payment
FROM table1
GROUP BY client_id
HAVING total_payment >= 1000
推荐阅读
- django - Django Generic View - 来自 DetailView 实例的 ListView
- angular6 - 如何仅在 Angular 6 拦截器中将请求标头添加到特定域
- vagrant - Vagrant box 添加 - 无法连接到 cloud-images.ubuntu.com 端口 443:超时
- javascript - HTTP POST 403 未经授权
- sapui5 - Sap 自定义 Fiori 应用程序 LPD_CUST 附加信息是否更改?
- php - simplexml_load_file 多个等于节点
- java - org.springframework.jdbc.BadSqlGrammarException: PreparedStatementCallback;
- react-native - .catch() 在 react-native 的 fetch 中
- javascript - 获取数据快递js
- c# - Xamarin 孩子添加了多个 AbsoluteLayoutFlags