COUNT 和 DISTINCT 经常被合起来使用,目的是找出表格中有多少笔不同的资料 (至于这些资料实际上是什么并不重要)。 举例来说,如果我们要找出我们的表格中有多少个不同的 store_name,我们就打入,
SELECT COUNT(DISTINCT store_name)
FROM Store_Information
SELECT store_name, SUM(Sales)
FROM Store_Information
GROUP BY store_name
结果:
store_name | SUM(Sales) |
Los Angeles | $1800 |
San Diego | $250 |
Boston | $700 |
当我们选不只一个栏位,且其中至少一个栏位有包含函数的运用时,我们就需要用到 GROUP BY 这个指令。在这个情况下,我们需要确定我们有 GROUP BY 所有其他的栏位。换句话说,
除了有包括函数的栏位外,我们都需要将其放在 GROUP BY 的子句中。
来源:http://sql.1keydata.com/cn/sql-groupby.php
当要对统计后的字段(sum(sales))进行筛选时,用 having sum(sales) > 900
顺序:
1。where 先对所有数据进行筛选。
2。group by 分组,统计
3。having 对分组且统计后的记录进行筛选