`

sql 多行合并问题 zt

阅读更多
写道
内容引自:
多行一列数据合并成一行一列数据
http://topic.csdn.net/u/20090714/17/5FE6A0F7-CE78-4936-BE31-21D462236059.html

在MySQL和Oracle中实现行合并
http://www.blogjava.net/rain1102/archive/2009/06/24/283867.html


SQL Server

--SQL2005中的方法2
create table tb(id int, value varchar(10))
insert into tb values(1, 'aa')
insert into tb values(1, 'bb')
insert into tb values(2, 'aaa')
insert into tb values(2, 'bbb')
insert into tb values(2, 'ccc')
go

select id, [values]=stuff((select ','+[value] from tb t where id=tb.id
for xml path('')), 1, 1, '')
from tb
group by id

/*
id values
----------- --------------------
1 aa,bb
2 aaa,bbb,ccc

(2 row(s) affected)

*/

drop table tb



MySQL

select name , group_concat(email order by email separator ", ") as email from student group by name


Oracle

如果以上效果想在Oracle中显示, 则比较复杂点了, 因为Oracle中没有行合并函数, 则需要使用sys_connect_by_path()来实现, 代码如下:
select name, ltrim(sys_connect_by_path(email,','),',') email from(
select name,email,
row_number() over(partition by name order by email) rn,
count(*) over(partition by name) cnt
from student
) where level = cnt
start with rn = 1
connect by prior name = name and prior rn + 1 = rn

 这是别人写的,我试验了mysql的部分,group_concat是一个很好用的函数,简单易行,oracle和 sql server的解决方案还没试验,估计也差不多吧

分享到:
评论
1 楼 ljy520zhiyong 2013-07-30  
     

相关推荐

    sql实现多行合并一行

    在SQL中,有时候我们需要将查询结果中多行的数据合并成一行,这在处理某些特定的报表或数据分析时非常有用。这种技术通常被称为行合并或行聚合。在本例中,我们将探讨如何使用纯SQL实现这一功能,特别是针对Oracle...

    sql 多行合并某一列字符串拼接的示例

    在SQL中,将多行数据合并为一行,尤其是在某一列进行字符串拼接,是一项常见的需求。这通常用于汇总数据、创建报表或者为了分析目的而整合信息。本文将深入探讨如何利用SQL实现多行数据的合并,特别关注字符串拼接的...

    sql多行转列

    主要是关于sqlserver的多行转列的问题,这是我经过个人测试的语句。

    sybase数据库多行合并为一行多列.sql

    sybase数据库是不支持group_concat函数的,此文件为sybase存储过程样例,可以将多行信息按标识合并为一行多列。

    一列分割成多列,多行合并为一行

    SQL语句用with将列分割成多列存为临时表,再将多行某个字段拼接合并为一行

    Oracle多行记录合并

    在Oracle数据库中,多行记录的合并通常是为了将...总的来说,Oracle提供了多种方式来合并多行记录,每种方法都有其适用的场景和优缺点。在实践中,应根据具体情况灵活选择和组合这些方法,以达到最佳的数据处理效果。

    sql 多行数据一行显示

    多行数据一行显示多行数据一行显示多行数据一行显示多行数据一行显示

    oracle10g,9i多行合并一行函数

    ### Oracle 10g与9i中的多行合并为一行函数详解 在Oracle数据库系统中,经常需要将多个行的数据合并成单行显示,尤其是在处理报告或者需要将多个值组合成一个字符串的情况下。本文将详细介绍如何在Oracle 10g与9i...

    oracle实现多行合并的方法

    本文实例讲述了oracle实现多行合并的方法。分享给大家供大家参考。具体分析如下: 在写sql时,经常会有将某列的字段合并起来,比如将某人名下每个月的工资列示,但是每个人只能占一行。 像这种场景,可能用行列转换...

    oracle多行合并一行

    ### Oracle多行合并为一行的方法 在Oracle数据库中,有时候我们需要将多行数据合并成一行进行展示或处理,尤其是在报表生成、数据展示等场景中。本文将详细介绍如何使用Oracle纯SQL语句实现这一功能,并通过具体...

    在SQL Server中将多行合并为一行

    在SQL Server中,将多行合并为一行是一个常见的需求,特别是在数据分析和报表生成时。这个过程通常被称为数据透视或行列转换。在这个场景中,我们使用SQL Server中的`PIVOT`操作来实现这一目标。`PIVOT`是SQL Server...

    多行合并为一行的SQL语句.docx

    ### 多行合并为一行的SQL语句 在数据库管理中,经常需要处理的数据结构较为复杂,其中之一就是如何将多行记录合并成一行记录。这种需求常见于报表生成、数据分析等场景,通过将多行数据合并到单行,可以简化查询...

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

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

    SQL 合并多行记录的相同字段值

    总的来说,SQL合并多行记录的相同字段值可以通过编程语言处理,但更高效的方法是在数据库级别进行操作。创建自定义函数能够简化复杂查询,减少数据库交互次数,从而提升整体性能。当处理大量数据时,这种方法尤其...

    SQL脚本文件合并工具

    通过“SQL脚本文件合并工具”,我们可以将分散的SQL脚本整合到一起,形成一个大的SQL脚本文件,这样在SQL*Plus中只需要运行一次,就能完成所有脚本的执行,避免了反复打开、执行单个文件的繁琐步骤。 合并过程可能...

    SQL语句行数据拆成多行及多行数据合并成一行的方法.docx

    ### SQL语句行数据拆成多行及多行数据合并成一行的方法 #### 一、SQL语句对一行(单元格)数据拆分成多行 在处理数据时,有时我们需要将一行数据拆分成多行,这在数据分析和报表制作中非常常见。下面将详细介绍几...

    ORACLE多行记录合并

    多行记录合并 采用的是方法4,希望对你们有用

    合并SQL小工具 多个SQL文件合并

    标题 "合并SQL小工具 多个SQL文件合并" 指的是一款专为数据库管理员和开发者设计的小型实用工具,其主要功能是整合多个SQL脚本文件为一个单一的文件。这种工具通常在需要批量执行SQL命令或者在数据迁移、数据库升级...

    SqlServer,将多行记录按分组信息一行显示

    SqlServer将多行记录按分组信息一行显示

Global site tag (gtag.js) - Google Analytics