分组汇总

阅读(945) 标签: 分组汇总, , 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中的维对应。