数据库查询时对多个字段group by 有什么作用?在线等

数据库查询时对多个字段group by 有什么作用?在线等,第1张

以一个例子来解释。首先有这么一张表:

我们执行这个SQL:SELECT o_num,COUNT(f_id) from orderitems GROUP BY o_num;

得到如图:

此SQL是对一个字段进行分组,把所有相同的o_num分为了一组,并且统计每个组f_id的总数。接下来执行另一个SQL:SELECT o_num,f_id,COUNT(f_id) from orderitems GROUP BY o_num,f_id;

可以发现count(f_id)统计的是按f_id分过组后的结果。

注意o_num=30003这个数据,数据库里有两条,且这两条数据的o_num和f_id都一一对应相等,然后再观察上图,

这条数据只显示了一遍,但是count(f_id)值为2,由此可见GROUP BY o_num,f_id的作用体现在这里了,多字段分组是由左至右的,最终按最右列进行的分组统计。简言之,若多字段分组,当这多个字段值全部相等时才能分为一组,不然就全部拎出来。朋友们可以看看上面几个图好好体会一下。

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,如下图。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/10009767.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-04
下一篇2023-05-04

发表评论

登录后才能评论

评论列表(0条)

    保存