https://www.cnblogs.com/87060524test/p/10402784.html
在group中,group by 后面的字段,在select 后面是一定要有的
group by就是分組,把誰和誰分在一起,然后,在表里去找這個組合中滿足的記錄
select ACC_B2B..ORDER_Head.OrderSn from ACC_B2B..ORDER_Head group by ACC_B2B..ORDER_Head.OrderSn, ACC_B2B..ORDER_Head.CreateTime order by CreateTime desc
ACTION_TYPE,STATUS_CODE
在select聚合函數里,就可以不用在group里
select COUNT(*) ,ACTION_TYPE,STATUS_CODE,count(STATUS_MESSAGE) as STATUS_MESSAGE from ACC_MINIEHUB..hubV2_SOConfirmLog group by ACTION_TYPE ,STATUS_CODE
GROUP BY X意思是將所有具有相同X字段值的記錄放到一個分組里,
GROUP BY X, Y意思是將所有具有相同X字段值和Y字段值的記錄放到一個分組里。
HAVING
當然提到GROUP BY 我們就不得不提到HAVING,HAVING相當於條件篩選,但它與WHERE篩選不同,HAVING是對於GROUP BY對象進行篩選。
以下是引用片段: SELECT dep.department_name, MAX(emp.salary), MIN(emp.salary) FROM departments dep LEFT JOIN employees emp ON (dep.department_id = emp.department_id) GROUP BY dep.department_name --order by 的列,必須是出現在group by 子句里的列 ORDER BY dep.department_name DESC
這樣可以看出,四個狀態下的SoNumber是多少數量
select Status,COUNT(Number) from SOStatus group by SOStatus --having Status='3'