oracle之分组内的字符串连接

实现效果:

例如下面的数据
[php]
groupid        personid        name
1            a             超级管理员
2            b                  管理员
2            c                  测试员
3            a                  超级管理员
4            b                  管理员
5            b                  管理员
5            c                  测试员
5            a                  超级管理员
5            d                  领导
6            c                  测试员
6            b                  管理员
7            a                  超级管理员
8            a                  超级管理员

我想要下面的查询结果
1        超级管理员
2        管理员;测试员
3        超级管理员
4        管理员
5        管理员;测试员;超级管理员;领导
6        测试员;管理员
7        超级管理员
8        超级管理员

SQL:

select id ,wmsys.wm_concat(name) from t group by id;

参考:http://www.itpub.net/thread-1414207-1-1.html

   http://www.oracle-base.com/articles/misc/string-aggregation-techniques.php

oracle之分组内的字符串连接

时间: 2024-09-29 22:06:14

oracle之分组内的字符串连接的相关文章

oracle error 引号内的字符串没有正确结束

ERROR: ORA-01756: 引号内的字符串没有正确结束 SELECT DISTINCT A.JNO FROM Rt AS A WHERE NOT EXISTS (SELECT PNO FROM St AS B WHERE NOT EXISTS (SELECT JNO,PNO FROM Rt AS C WHERE C.JNO=A.JNO AND B.PNO=C.PNO)) GROUP BY A.JNO * 第 1 行出现错误: ORA-00933: SQL 命令未正确结束 如果确认没有语法

Oracle字符串连接的方法

Oracle数据库中,使用“||”进行字符串连接,下面就让我们一起了解一下Oracle数据库中字符串连接的方法,希望对您能有所帮助. 和其他数据库系统类似,Oracle字符串连接使用“||”进行字符串拼接,其使用方式和MSSQLServer中的加号“+”一样. 比如执行下面的SQL语句:SELECT '工号为'||FNumber||'的员工姓名为'||FName FROM T_EmployeeWHERE FName IS NOT NULL 除了“||”,Oracle还支持使用CONCAT()函数

Oracle数据库字符串连接方法

转至:http://database.51cto.com/art/201011/232267.htm 和其他数据库系统类似,Oracle字符串连接使用“||”进行字符串拼接,其使用方式和MSSQLServer中的加号“+”一样. 比如执行下面的SQL语句: SELECT '工号为'||FNumber||'的员工姓名为'||FName FROM T_Employee WHERE FName IS NOT NULL 除了“||”,Oracle还支持使用CONCAT()函数进行字符串拼接,比如执行下面

oracle 高级分组

oracle 高级分组 博客分类: 数据库基础 oraclesql Java代码   10.高级分组 本章目标: 对于增强的group by需要掌握: 1.使用rollup(也就是roll up累计的意思)操作产生subtotal(小计)的值. 2.使用cube操作产生cross-tabulation(列联交叉表)的值. 3.使用grouping函数标识通过rollup和cube建立的行的值. 4.使用grouping sets产生一个single result set(结果集). 5.使用gr

IT忍者神龟之oracle 在分组内排序的方法回顾

oracle分析函数十分强大,我们只要掌握这些方法,更直接的说法就是知道这些分析函数的作用就能完成很多工作. 下边贴出这些函数,及简单应用. 其中我想对lag()和lead()函数坐下说明:lag()本身是延后的意思也就是延后出现某列的数,而lead()有引领.领先的意思也就是提前几行显示某列数据 RANK() dense_rank() [语法]RANK ( ) OVER ( [query_partition_clause] order_by_clause ) dense_RANK ( ) OV

[每天一个知识点]15-Java语言-字符串连接

昨天说了字符串拼接,今天来说说连接,我指的是非数组或集合类型的一堆内容拼一个字符串出来. 最简单的是用+运算符,然后还有StringBuilder和StringBuffer.如果是培训学校教的,一般都是说首选使用StringBuilder其次是StringBuffer,不要用+效率很低.实际上在大部分情况下使用+已经足够了,因为+实际上编译之后就是StringBuilder(没有StringBuilder的版本是StringBuffer),而且如果是2个字符串常量相加还能在编译器合并成一个. 一

深入理解Oracle表(3):三大表连接方式详解之Nested loop join和 Sort merge join

深入理解Oracle表(3):三大表连接方式详解之Nested loop join和 Sort merge join 分类: Oracle 基础管理 Oracle SQL 开发2013-01-28 00:33 2536人阅读 评论(1) 收藏 举报 关系数据库技术的精髓就是通过关系表进行规范化的数据存储       并通过各种表连接技术和各种类型的索引技术来进行信息的检索和处理       这里Think愿意和大家一起来学习分享Oracle的三大表连接技术              在早期版本,

python字符串连接超过2个,用join代替+号

python字符串连接效率问题 在python效率的讨论问题中字符串的连接效率有提过,多数建议使用join来代替"+"进行字符串连接 python中一切皆对象 字符串对象就是c api中得stringobject.c看python源码的objects文件可以找到 1."+".使用加号连接2个字符串会调用静态函数string_concat(register PyStringObject *a ,register PyObject * b),在这个函数中会开辟一块大小是

Oracle数据类型和内置函数

Oracle数据类型 数字型:number. float 日期型:DATE.TIMESTAMP 字符串: TIMESTAMP 年:同SYSDATE里的年 月:同SYSDATE里的月 日:1号 时分秒:均为0 to_date date –to_date中的分隔符可以更换,date中的分隔符必须是- –date只可以表示日期,不可以表示时间 TIMESTAMP 记录了年.月.日.时.分.秒和纳秒 –默认值: 年:同SYSDATE里的年 月:同SYSDATE里的月 日:1号 时分秒和纳秒:均为0 表示