groupby

[mysql]GroupBy遇到的问题

半腔热情 提交于 2020-03-01 17:38:53
mysql -u root -p mysql > SET GLOBAL sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY','')); sudo vim /etc/mysql/conf.d/mysql.cnf [mysqld] sql_mode='NO_AUTO_VALUE_ON_ZERO,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION,PIPES_AS_CONCAT,ANSI_QUOTES' sudo service mysql restart to restart MySQL. 来源: oschina 链接: https://my.oschina.net/u/2912094/blog/1586750

oracle中group by的高级用法

半城伤御伤魂 提交于 2019-11-28 23:20:02
简单的group by用法 select c1,sum(c2) from t1 where t1<>'test' group by c1 having sum(c2)>100; rollup(多列)——上卷汇总,从最后一个汇总字段开始上卷汇总,一直到合计 select c1,c2,sum(c3) from t1 group by rollup(c1,c2) 含义: c1,c2分组合计 c1分组合计 总计 cube(多列)——组合汇总,以汇总字段的子集作为汇总条件汇总,包括合计 select c1,c2,sum(c3) from t1 group by cube(c1,c2) 含义: c1,c2分组合计 c1分组合计 c2分组合计 总计 grouping(单列名)只用于rollup和cube,单列名是rollup和cube中的一个列名,表示此记录的分组条件是否包含此列,1表示否,0表示是。 select decode(grouping(c1),1,'all c1',c1) as first, decode(grouping(c2),1,'all c2',c2) as second,sum(c3) from t1 group by cube(c1,c2) 含义: 使记录含义更清晰,而不是单纯的一个null值。 grouping sets(多列)——分列汇总,按参数中的各列分别汇总。