Where后面可以用sum函数么

动态 未结 0 102
小小草
小小草 LV1 2023年9月23日 23:40 发表
在`WHERE`子句中,不能使用聚合函数(如`SUM`、`AVG`、`MAX`、`MIN`和`COUNT`)来过滤数据。因为`WHERE`子句是在数据分组之前进行过滤的,而聚合函数是在数据分组之后进行计算的。如果要在过滤数据之后再进行聚合计算,可以使用`HAVING`子句。 例如,下面的查询语句是错误的: ```sql SELECT column1, SUM(column2) FROM table_name WHERE SUM(column2) > 100 GROUP BY column1; ``` 正确的写法应该是: ```sql SELECT column1, SUM(column2) FROM table_name GROUP BY column1 HAVING SUM(column2) > 100; ``` 这样就会先对数据进行分组,然后再对分组结果进行聚合计算,并过滤掉那些`column2`列的和小于等于100的分组结果,只返回符合条件的分组结果。
收藏(0)  分享
相关标签: 智能问答
问题没解决?让AI助手帮你作答 AI助手
0个回复
  • 消灭零回复