1.创建测试表,
创建表test_group_cols(idnumber,值varchar2(20),remarkvarchar2(20));
2.插入需要测试的数据,
插入集体集体(1,“15”,“rmk1”);
插入集体集体(2,“15”,“rmk1”);
插入group_colstriues(3,25x,rmk2);
插入group_colstriues(3'333',rmk4);
插入group_colstriues(3,'666','rmk3');
插入集体集体(4'35',rmk1');
插入group_colstriues(4.77,rmk1);
3.查询表的所有字段,选择。*,rowidfromuser_tab_colstwheretable_name=upper('test_group_cols')如下图。
4.写SQL,groupbyid字段,selectid,count(*)fromtest_group_colstgroupbyid,如下图。
MySQL中使用 GROUP BY 对数据进行分组,GROUP BY从字面意义上理解就是根据'BY'指定的规则对数据进行分组, 所谓分组就是将一个'数据集'划分成若干个'子区域',然后针对若干个'小区域'进行数据处理 。基本语法形式为:
字段值为进行分组时所依据的列名称, “HAVING <条件表达式>” 指定满足表达式限定条件的结果将被显示。
GROUP BY关键字通常和集合函数一起使用,例如:MAX()、MIN()、COUNT()、SUM()、AVG()。即把数据分为多个逻辑组,并对每个组进行集合计算。
WHERE 子句过滤行,在数据分组前过滤;HAVING 子句过滤分组,在数据分组后过滤。WHERE排除的行不包括在分组里,且HAVING支持所有WHERE *** 作符。
使用GROUP BY可以对多个字段进行分组,根据多字段的值来进行层次分组,分组从左到右。
注意事项:
1、创建测试表,
create table test_group_cols(id number, value varchar2(20), remark varchar2(20))
2、插入测试数据
insert into test_group_cols values(1,'15y','rmk1')
insert into test_group_cols values(2,'15y','rmk1')
insert into test_group_cols values(3,'25x','rmk2')
insert into test_group_cols values(3,'333','rmk4')
insert into test_group_cols values(3,'666','rmk3')
insert into test_group_cols values(4,'35s','rmk1')
insert into test_group_cols values(4,'77','rmk1')
3、查询该表的所有字段,select t.*, rowid from user_tab_cols t where table_name = upper('test_group_cols'),可以发现共有3个字段,
4、编写sql,按id字段进行分组,select id, count(*) from test_group_cols t group by id,
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)