当前位置:  数据库>sqlserver

Sql Server多行合并一行 sql分组统计

    来源: 互联网  发布时间:2014-08-29

    本文导语:  例子,sql多行数据合并与分组统计。   代码示例: --创建 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', 'b...

例子,sql多行数据合并与分组统计。
 

代码示例:

--创建 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代码--合并多行的某一列值
  • sql server多行数据拼接的实例方法
  • sql server 多行数据拼接的语句实例
  • Sql Server:多行合并成一行,并做分组统计的两个方法
  • Sql function 多行中的列合并为一行一列的方法
  • SQL 合并多行记录的相同字段值
  • SQL 合并多行记录的方法总汇
  • 很有意思的SQL多行数据拼接
  • sql server中合并多行记录的方法总汇
  • oracle—SQL技巧之(二)WMSYS.WM_CONCAT函数实现多行记录用逗号拼接在一起
  • Sql Server多行合并及分组查询的例子
  • SQL分组排序去除重复实例
  • sql分组查询(按组内个数排序)
  • SQL分组排序去重复的小实例
  • SQL分组统计简单例子
  • 显示同一分组中的其他元素的sql语句
  • sql中获取分组排序后数据方法实例
  • SQL语句分组获取记录的第一条数据的方法
  • SQL分组查询实例解析
  • sql语句获取分组排序后数据
  • sql server分组排序之row_number()over函数的使用
  • Sql Server 分组统计并合计总数(WITH ROLLUP用法)
  • sql分组排序与分组统计技巧
  • sql server 2000/2005/2008中一句话完成分组后加序号
  • sql获取分组排序后数据的脚本
  • sql server分组查询与排序的例子
  • sql server数据分组查询脚本分析
  • SQL分组排序与分组查询统计
  • Sql Server 分组统计并合计总数及WITH ROLLUP应用
  • 以数据库字段分组显示数据的sql语句(详细介绍)
  • SQL Server分组排序提取数据的代码举例
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • sql server 中合并某个字段值的实例
  • sql 查询结果合并union all用法_数据库技巧
  • 深入SQL SERVER合并相关操作Union,Except,Intersect的详解
  • mssql 两表合并sql语句
  • oracle 合并查询 事务 sql函数小知识学习
  • sql合并查询实例 sql子查询教程
  • 合并SQL脚本文件的方法分享
  • java命名空间java.sql接口statement的类成员方法: executeupdate定义及介绍
  • 请问,这是什么错误!java.sql.SQLException: [Microsoft][ODBC SQL Server Driver][Named Pipes]??????? SQL Server?虽然分少,但一定给,只要您是前5名回复者中最好的以为!
  • java命名空间java.sql接口connection的类成员方法: nativesql定义及介绍
  • SQL查询分析工具 SQL Workbench/J
  • java命名空间java.sql接口preparedstatement的类成员方法: executeupdate定义及介绍
  • oracle导出sql语句的结果集和保存执行的sql语句(深入分析)
  • java命名空间java.sql接口rowid的类成员方法: getbytes定义及介绍
  • SQL Server统计SQL语句执行时间的脚本
  • java命名空间java.sql接口ref的类成员方法: getbasetypename定义及介绍
  • SQL客户端软件 PKLite SQL Client
  • java命名空间java.sql接口databasemetadata的类成员方法: getsqlkeywords定义及介绍
  • SQL语句实现SQL Server 2000及Sql Server 2005日志收缩(批量)
  • java命名空间java.sql接口rowid的类成员方法: tostring定义及介绍
  • SQL客户端管理工具 SQuirreL SQL Client
  • java命名空间javax.sql.rowset接口joinrowset的类成员方法: getwhereclause定义及介绍
  • 如何处理此错误:java.sql.SQLException: [Microsoft][ODBC SQL Server Driver]没有执行可选特性
  • java命名空间java.sql接口statement的类成员方法: execute定义及介绍
  • sql2005 大数据量检索分页的sql代码
  • java命名空间java.sql接口resultset的类成员方法: getcursorname定义及介绍
  • 如何实现连接一次数据库,提交多个sql语句。(sql的批处理)
  • java命名空间java.sql接口resultsetmetadata的类成员方法: getcolumntype定义及介绍
  • 微软网站下载的Ms SQL Server2000 JDBC Driver,必须用英文版的SQL server2000吗?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3