分组汇总

阅读(542) 标签: 分组汇总, , on, by, having,

语法描述:

SELECT T.f(...),......, T.F

ON 

FROM T WHERE…BY T.F.....

HAVING…..

参数说明:

T.f(...)

聚合函数

T.F

分组字段

D

BY T.F

分组字段

HAVING

后面写分组后的过滤条件

 

举例:

SELECT CustomerID,count(OrderID)  OrderNum ,avg(Amount) Avg_Amount 

FROM Orders  BY CustomerID 

HAVING OrderNum>20

Orders表根据CustomerID分组,查询各组的订单数及Amount平均值,返回订单数大于20的记录。

HAVING后面的选出表达式中,字段有别名的应使用别名。

SELECT  count(OrderID),sum(Amount)

ON  Year ,EMPLOYEE

FROM Orders  BY  ShipDate#Year,EmployeeID

根据签单日期的年份和雇员ID分组,查询订单数及总签单金额;

BY后面的yearDay中的层函数

 

知识点:

1)  单表时ON可省略

2)  BY后面的字段与ON依次对应 By中有层函数时自动使用层函数与ON中的维对应