`
misxjq
  • 浏览: 12678 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

分组后多行数据合并成一个字段的处理

    博客分类:
  • sql
阅读更多
经常遇到,将数据库查询中,将按某一个字段分组后,获得的记录集中的另一个中文字段值,进行合并,通常情况下一般采用编程语言技术在后台进行循环处理,如果数据量较大,效率比较低,那么我们来看一下,数据库是如何自己处理的。
--MYSQL

SELECT T.分组字段,group_concat(T.连接字段)
from TABLENAME T
GROUP BY T.分组字段

其生成的连接字段是用逗号隔开的。

--ORACLE
在oracle中有一个wmsys用户,这个用户和sys,system等用户一样,是oracle安装的时候就创建的,主要负责oracle日常工作的管理(WM:work manager),
wm开头的函数是这个用户下的函数。

SELECT T.分组字段,WM_CONCAT(T.连接字段) AS NAME FROM TABLENAME T GROUP BY T.分组字段

其生成的连接字段也是用逗号隔开的。

--ORACLE 11 未验证,因为作者本机没有11G啊,希望同志们验证
SELECT LISTAGG(T.连接字段, ',') WITHIN GROUP( ORDER BY T.分组字段) AS NAME FROM TABLENAME T
分享到:
评论

相关推荐

    Oracle多行记录合并

    Oracle多行记录合并/连接/聚合字符串的几种方法

    SQL Server将一列的多行内容拼接成一行的实现方法

    昨天遇到一个SQL Server的问题:需要写一个储存过程来处理几个表中的数据,最后问题出在我想将一个表的一个列的多行内容拼接成一行,比如表中有两列数据 : 类别 名称 AAA 企业1 AAA 企业2 AAA 企业3 ...

    Sql Server:多行合并成一行,并做分组统计的两个方法

    代码如下:–创建 test 表 ,插入数据CREATE TABLE test(code varchar(50), [values] varchar(10),[count] int)INSERT test SELECT ‘001’, ... –方法一–将多行合并成一行,并做分组统计SELECT code, [values] = 

    多行相同只显示第一行(分组显示).sql

    SQL查询结果部分字段信息重复时,去除重复信息,达到数据分组的效果,类似于EXCEL透视表,对数据库初学者还是有一定的帮助

    MySQL基于group_concat()函数合并多行数据

    一个很有用的函数  group_concat(),手册上说明:该函数返回带有来自一个组的连接的非NULL值的字符串结果。  通俗点理解,其实是这样的:group_concat()会计算哪些行属于同一组,将属于同一组的列合并显示出来。要...

    北京中科信软Excel2007培训

    第一章、Excel数据处理基本技巧 第一节Excel中的表格基本操作技巧 快捷键应用介绍 表格区域命名 多工作表的快速定位 工作表的链接 第二节、快速准确输入数据 数字、日期输入技巧 快速填充特殊技巧 导入外部数据 第三...

    2009达内SQL学习笔记

    select:从一个或多个表中检索一个或多个数据列。包含信息:想选择什么表,从什么地方选择。必须要有From子句。(最常用) 当从多张表里查询的时候,会产生笛卡尔积;可用条件过滤它。 当两个表有相同字段时必须加...

    Access 2000数据库系统设计(PDF)---001

    1326.5.4 添加一个多字段排序和复合筛选 准则 1326.5.5 使用复合准则 1346.5.6 将筛选保存为查询与筛选的加载 1356.6 定制数据表视图 1366.7 复制、导出和邮寄排序和筛选后的 数据 1386.8 疑难解答 1396.9 现实世界...

    Access 2000数据库系统设计(PDF)---002

    1326.5.4 添加一个多字段排序和复合筛选 准则 1326.5.5 使用复合准则 1346.5.6 将筛选保存为查询与筛选的加载 1356.6 定制数据表视图 1366.7 复制、导出和邮寄排序和筛选后的 数据 1386.8 疑难解答 1396.9 现实世界...

    Access 2000数据库系统设计(PDF)---018

    1637.5.3 使用分隔文本文件 1657.5.4 处理宽度固定的文本文件 1667.5.5 追加文本数据到一个现有的表 1677.6 使用剪贴板导入数据 1677.6.1 向一个表粘贴新记录 1687.6.2 通过从剪贴板上粘贴来替换记录 1707.7 从...

    Access 2000数据库系统设计(PDF)---003

    1326.5.4 添加一个多字段排序和复合筛选 准则 1326.5.5 使用复合准则 1346.5.6 将筛选保存为查询与筛选的加载 1356.6 定制数据表视图 1366.7 复制、导出和邮寄排序和筛选后的 数据 1386.8 疑难解答 1396.9 现实世界...

    Access 2000数据库系统设计(PDF)---011

    1637.5.3 使用分隔文本文件 1657.5.4 处理宽度固定的文本文件 1667.5.5 追加文本数据到一个现有的表 1677.6 使用剪贴板导入数据 1677.6.1 向一个表粘贴新记录 1687.6.2 通过从剪贴板上粘贴来替换记录 1707.7 从...

    Access 2000数据库系统设计(PDF)---020

    1637.5.3 使用分隔文本文件 1657.5.4 处理宽度固定的文本文件 1667.5.5 追加文本数据到一个现有的表 1677.6 使用剪贴板导入数据 1677.6.1 向一个表粘贴新记录 1687.6.2 通过从剪贴板上粘贴来替换记录 1707.7 从...

    Access 2000数据库系统设计(PDF)---009

    1326.5.4 添加一个多字段排序和复合筛选 准则 1326.5.5 使用复合准则 1346.5.6 将筛选保存为查询与筛选的加载 1356.6 定制数据表视图 1366.7 复制、导出和邮寄排序和筛选后的 数据 1386.8 疑难解答 1396.9 现实世界...

    Access 2000数据库系统设计(PDF)---012

    1637.5.3 使用分隔文本文件 1657.5.4 处理宽度固定的文本文件 1667.5.5 追加文本数据到一个现有的表 1677.6 使用剪贴板导入数据 1677.6.1 向一个表粘贴新记录 1687.6.2 通过从剪贴板上粘贴来替换记录 1707.7 从...

    Access 2000数据库系统设计(PDF)---015

    1637.5.3 使用分隔文本文件 1657.5.4 处理宽度固定的文本文件 1667.5.5 追加文本数据到一个现有的表 1677.6 使用剪贴板导入数据 1677.6.1 向一个表粘贴新记录 1687.6.2 通过从剪贴板上粘贴来替换记录 1707.7 从...

    Access 2000数据库系统设计(PDF)---027

    1637.5.3 使用分隔文本文件 1657.5.4 处理宽度固定的文本文件 1667.5.5 追加文本数据到一个现有的表 1677.6 使用剪贴板导入数据 1677.6.1 向一个表粘贴新记录 1687.6.2 通过从剪贴板上粘贴来替换记录 1707.7 从...

    Access 2000数据库系统设计(PDF)---025

    1637.5.3 使用分隔文本文件 1657.5.4 处理宽度固定的文本文件 1667.5.5 追加文本数据到一个现有的表 1677.6 使用剪贴板导入数据 1677.6.1 向一个表粘贴新记录 1687.6.2 通过从剪贴板上粘贴来替换记录 1707.7 从...

    Access 2000数据库系统设计(PDF)---026

    1637.5.3 使用分隔文本文件 1657.5.4 处理宽度固定的文本文件 1667.5.5 追加文本数据到一个现有的表 1677.6 使用剪贴板导入数据 1677.6.1 向一个表粘贴新记录 1687.6.2 通过从剪贴板上粘贴来替换记录 1707.7 从...

Global site tag (gtag.js) - Google Analytics