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

 更新时间:2013年02月21日 09:59:24   作者:  
Sql Server:多行合并成一行,并做分组统计的两个方法,需要的朋友可以参考一下
复制代码 代码如下:

--创建 test 表 ,插入数据

CREATE TABLE test(code varchar(50), [values] varchar(10),[count] int)
INSERT test SELECT '001', 'aa',1
UNION ALL SELECT '001', 'bb',2
UNION ALL SELECT '002', 'aaa',4
UNION ALL SELECT '002', 'bbb',5
UNION ALL SELECT '002', 'ccc',3;

 

--方法一
--将多行合并成一行,并做分组统计
SELECT code,
       [values] =
       stuff(b.[values].value('/R[1]', 'nvarchar(max)'),
,
,
             ''),[count]
  FROM (SELECT  code,sum([count]) as [count]
          FROM test
         GROUP BY code) a
 CROSS apply (
        SELECT [values] =(
            SELECT N',' + [values] FROM test
              WHERE code = a.code
                         FOR XML PATH(''), ROOT('R'), TYPE
        )
) b;

 

--方法二

---SQL2005中的新解法   使用XML

SELECT code, data=STUFF((SELECT ','+[values] FROM test t WHERE code=t1.code FOR XML PATH('')), 1, 1, ''),sum([count]) as [count]
FROM test t1
GROUP BY code

 

--查询结果

--001    aa,bb    3
--002    aaa,bbb,ccc    12

 

drop table test

相关文章

  • SQL SERVER2012中新增函数之字符串函数CONCAT详解

    SQL SERVER2012中新增函数之字符串函数CONCAT详解

    SQL Server 2012有一个新函数,就是CONCAT函数,连接字符串非它莫属。比如在它出现之前,连接字符串是使用"+"来连接,如遇上NULL,还得设置参数与配置,不然连接出来的结果将会是一个NULL。本文就介绍了关于SQL SERVER 2012中CONCAT函数的相关资料,需要的朋友可以参考。
    2017-03-03
  • SQL 研究 相似的数据类型

    SQL 研究 相似的数据类型

    数据类型在精度,范围上有较大的差别。选择合适的类型可以减少table和index的大小,进而减少IO的开销,提高效率。本文介绍基本的数值类型及其之间的细小差别。
    2009-07-07
  • SQL Server安装完成后3个需要立即修改的配置选项

    SQL Server安装完成后3个需要立即修改的配置选项

    SQL Server里你总要去改变的3个配置选项,大家知道是哪三个吗?想要知道答案的朋友就仔细阅读下文
    2015-08-08
  • sql server的 update from 语句的深究

    sql server的 update from 语句的深究

    这篇文章主要介绍了sql server的 update from 语句的深究,需要的朋友可以参考下
    2014-12-12
  • mysql基础知识扫盲

    mysql基础知识扫盲

    本文主要介绍关于mysql的一些非常基础的知识。具有很好的参考价值。下面跟着小编一起来看下吧
    2017-03-03
  • SQL Server修改标识列方法 如自增列的批量化修改

    SQL Server修改标识列方法 如自增列的批量化修改

    最近在运行系统时需要对所有服务器上数据结构进行批量修改某个字段的自增属性改成非自增
    2012-05-05
  • SQL如何实现横表与纵表相互转换

    SQL如何实现横表与纵表相互转换

    针对SQL横向表转纵向的问题,本文从实际应用出发,详细讲解了语法和操作步骤,并结合实例进行了演示和说明。文章还探讨了该方法的优缺点,提出了一些值得注意的事项,旨在帮助读者更深入地理解这一重要的数据处理技巧
    2023-04-04
  • SQL Server正则表达式 替换函数应用详解

    SQL Server正则表达式 替换函数应用详解

    在sql开发过程中,经常会使用正则,本文将以此问题进行详细介绍SQL Server正则表达式 替换函数应用,需要了解更多的朋友可以参考下
    2012-11-11
  • SQL Server 索引维护sql语句

    SQL Server 索引维护sql语句

    SQL Server 索引维护sql语句,有需要的朋友可以参考下。
    2009-08-08
  • SQLServer2005创建定时作业任务

    SQLServer2005创建定时作业任务

    这篇文章主要为大家介绍了SQLServer2005创建定时作业任务的详细过程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-12-12

最新评论