group by 后面可以带两个字段吗
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了group by 后面可以带两个字段吗相关的知识,希望对你有一定的参考价值。
可以,一个字段就依据一个条件分组,两个字段就依据两个条件分组。。。。。。group by 有一个原则,就是 select 后面的所有列中,没有使用聚合函数的列,必须出现在 group by 后面 参考技术A 可以,后面可以根据多个字段进行聚合! 参考技术B 可以,需要用逗号隔开 参考技术C 可以,用逗号隔开
SQL GROUP BY对多个字段进行分组
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\'
以上是关于group by 后面可以带两个字段吗的主要内容,如果未能解决你的问题,请参考以下文章