oracle分组统计某列逗号隔开数据

所有版本的oracle都可以使用select wm_concat(name) as name from user; 但如果是oracle11g,使用select listagg(name, ‘,‘) within group( order by name) as name from user;效率更高,官方也更推荐这种写法。
时间: 2024-11-08 19:38:35

oracle分组统计某列逗号隔开数据的相关文章

[MySQL] 行列转换变化各种方法实现总结(行变列报表统计、列变行数据记录统计等)

前言: mysql行列变化,最难的就是将多个列变成多行,使用的比较多的是统计学中行变列,列变行,没有找到现成的函数或者语句,所以自己写了存储过程,使用动态sql来实现,应用业务场景,用户每个月都有使用记录数录入一张表,一个月一个字段,所以表的字段是动态增长的,现在需要实时统计当前用户使用的总数量,如果你知道有多少个字段,那么可以用select c1+c2+c3+-. From tbname where tid='111';来实现,但是关键是这个都是动态的,所以在应用程序端来实现确实不适宜,可以放

mysql或者oracle分组排序取前几条数据

mysql: select a.* from(select t1.*,(select count(*)+1 from 表 where 分组字段=t1.分组字段 and 排序字段<t1.排序字段) as group_idfrom 表 t1) awhere a.group_id<=3 Oracle: SELECT t.*            FROM (SELECT ROW_NUMBER() OVER(PARTITION BY 分组字段 ORDER BY 排序字段 DESC) rn,      

Oracle 分组统计,抽取每组前十

/**2018年6月14日 潮州ORACEL 统计2017年用电量,按行业分类抽取用电量前十*/select * from (select t.yhbh 用户编号, t.yhmc 用户名称, t.jldbh 计量点编号, (select m.dmbmmc from npmis_xt_dmbm m where m.dmfl = 'YDLXDM' and m.dmbm = t.ydlbdm) 用电类型, (select m.dmbmmc from npmis_xt_dmbm m where m.dm

oracle中统计重复几次的数据有几条

源地址:http://zhidao.baidu.com/link?url=ZgCztNzCScRI5kAqGqug1LJvf7IX311EQs6fJ0-W1kOtWaaR7MrtLoV_228Ed8Fhbk6EZQeOSfZzCDQNcBUvtq select a, count(1) from tab group by a就可以找出a有几条记录 如果要找出多余一条的重复记录select a, count(1) from tab group by a having count(1) >1

oracle分组取每组第一条数据

select * from test; no time name 1001   20141226 zhangsan 1001   20141227 lisi 1002 20141228 wangwu 1002  20141229 zhaoliu select * from (select rank() over(partition by documentno order by time desc) r,a.* from test a) where r=1; no time            

sql分组统计多列值

select BQDM,sum(case when HFBZ='0' then 1 ELSE 0 end) bxschf,sum(case when HFBZ='1' then 1 ELSE 0 end) xschf,sum(case when HFBZ='2' then 1 ELSE 0 end) yschf,sum(case when HFBZ='3' then 1 ELSE 0 end) xxghffrom T_ZYBR_INFO group by BQDM

Oracle按不同时间分组统计

Oracle按不同时间分组统计 Oracle按不同时间分组统计的sql 如下表table1: 日期(exportDate) 数量(amount) -------------- ----------- 14-2月 -08 20 10-3月 -08 2 14-4月 -08 6 14-6月 -08 75 24-10月-09 23 14-11月-09 45 04-8月 -10 5 04-9月 -10 44 04-10月-10 88 注意:为了显示更直观,如下查询已皆按相应分组排序 1.按年份分组 sel

Oracle数据库从入门到精通-分组统计查询

视频课程:李兴华 Oracle从入门到精通 视频课程学习者:阳光罗诺 视频来源:51CTO学院 整体内容: 统计函数的使用 分组统计查询的实现 对分组的数据过滤 统计函数 在之前我们就学习过一个COUNT()函数,这个函数的主要作用是统计一张表之中的数据量的个数.和它功能与之类似的常用函数有五个: 统计个数COUNT():根据表中的实际数据量返回结果. 求和SUM():是针对于数字的统计 平均值AVG():是针对数字的统计 最小值MIN():各种数据类型都支持. 最大值MAX():各种数据类型都

6.数据分组-统计信息

---数据分组-统计信息----- --select 字段列表from 表列表 where 对数据源进行数据筛选group by 分组字段列表Order by 排序字段列表 --1.得到所有学员总人数 select COUNT(*) from Student --2.得到男女生的人数 select COUNT(*) from Student where Sex='男' select COUNT(*) from Student where Sex='女' --使用分组统计 select COUNT