sql分组数据
分组是使用SELECT语句的GROUP BY子句建立的。理解分组最好的办法就是看一个例子:
输入:
SELECT vend_id ,COUNT(*) AS num_prods
FROM Products
GROUP BY vend_id;
输出:
vend_id num_prods
BRS01 3
DLL01 4
FNG01 2
分析:
上面的SELECT语句指定了两个列:vend_id包含产品供应上的ID,num_prods为计算机字段(用COUNT(*)函数建立)。GROUP BY 子句指示DBMS按vend_id排序并分组数据。这就会对每个vend_id而不是整个表计算num_prods一次。从输出中可以看到,供应商BRS01有3个产品,供应商DLL01有4个产品,而FNG012有2个产品。因为使用了GROUP BY,就不必指定要计算和估值的每个组了。系统会自动完成。GROUP BY 子句指定DBMS分组数据,然后对每个组而不是整个结果进行聚集。