SQL如何查询一张表的所有字段并按其中一个字段进行分组

 我来答
freechan10
2019-11-16 · TA获得超过2.9万个赞
知道小有建树答主
回答量:263
采纳率:68%
帮助的人:12.8万
展开全部

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,

汐日南莘
推荐于2017-09-21 · TA获得超过1.4万个赞
知道大有可为答主
回答量:1.6万
采纳率:45%
帮助的人:7584万
展开全部
GROUP BY 语句用于结合合计函数,根据一个或多个列对结果集进行分组。
group by 也可以同时使用多个字段进行分组
例子:
假设一个表tab有一个id字段、一个Name字段,内容如下
id Name
3 张三
5 李四
1 王五
1 赵六

sql 语句
select * from tab group by id

这条SQL的结果应该是
id Name
1 王五
3 张三
5 赵六
第一个Name显示的是王五 因为sql group by满足条件的有多个时是取第一个的
上面的结果并没有什么实际意义 group by 一般结合合计函数一起使用
比如 sql语句
select id, count(*) total from tab group by id
用于统计每个id有多少个
结果
id total
1 2
3 1
5 1
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
风飞110
2013-11-07 · 超过14用户采纳过TA的回答
知道答主
回答量:40
采纳率:0%
帮助的人:29.6万
展开全部
select * from 表名 group by 字段
一定会报错的,select 后面1 是分组的字段,要么是聚合函数 max min sum arg 等
你分组是要进行汇总统一计吗?要是这样的话,你就加聚合函数就好 了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
智慧游历者
2015-09-25 · 超过27用户采纳过TA的回答
知道答主
回答量:78
采纳率:100%
帮助的人:44.3万
展开全部
group by 必须搭配 聚组函数一起使用。使用order by ,可以达到你要的效果
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
chen_hongyang
2013-11-07 · TA获得超过5447个赞
知道大有可为答主
回答量:2790
采纳率:91%
帮助的人:869万
展开全部
select * from 表
group by 其中一个字段名称
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 3条折叠回答
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式