10.1 数据分组
从上一课得知,使用SQL聚集函数可以汇总数据。这样,我们就能够对行进行计数,计算和与平均数,不检索所有数据就获得最大值和最小值。
目前为止的所有计算都是在表的所有数据或匹配特定的WHERE
子句的数据上进行的。比如下面的例子返回供应商DLL01
提供的产品数目:
输入▼
SELECT COUNT(*) AS num_prods
FROM Products
WHERE vend_id = 'DLL01';
输出▼
num_prods
num_prods
4
如果要返回每个供应商提供的产品数目,该怎么办?或者返回只提供一项产品的供应商的产品,或者返回提供10个以上产品的供应商的产品,怎么办?
这就是分组大显身手的时候了。使用分组可以将数据分为多个逻辑组,对每个组进行聚集计算。