SQL 分组过滤与子查询全解析
1. 分组过滤条件
在 SQL 查询中,当对数据进行分组时,我们可以使用不同的过滤条件,这些条件可以作用于分组前的数据,也可以作用于分组后的数据。
1.1 WHERE 子句和 HAVING 子句的区别
WHERE 子句用于在分组之前过滤原始数据,而 HAVING 子句用于在分组之后过滤分组数据。
例如,以下查询展示了如何使用 WHERE 和 HAVING 子句:
mysql> SELECT product_cd, SUM(avail_balance) prod_balance
-> FROM account
-> WHERE status = 'ACTIVE'
-> GROUP BY product_cd
-> HAVING SUM(avail_balance) >= 10000;
这个查询有两个过滤条件:
- WHERE 子句过滤掉非活跃账户。
- HAVING 子句过滤掉总可用余额小于 10000 美元的产品。
查询结果如下:
+------------+--------------+
| product_cd | prod_balance |
+------------+--------------+
| CD | 19500.00 |
| CHK | 73008.01
超级会员免费看
订阅专栏 解锁全文
1120

被折叠的 条评论
为什么被折叠?



