加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

Sql选择group by和string concat [复制]

发布时间:2020-12-12 16:24:47 所属栏目:MsSql教程 来源:网络整理
导读:参见英文答案 How to concatenate text from multiple rows into a single text string in SQL server?43个 我有一张这样的桌子 ID NAME Amount1 cal 1002 cal 2003 cal 3004 cal 4001 ser 5002 ser 6005 ser 700 我想写一个选择查询,这样我就会得到这样的结
参见英文答案 > How to concatenate text from multiple rows into a single text string in SQL server?43个
我有一张这样的桌子
ID  NAME    Amount
1   cal     100
2   cal     200
3   cal     300
4   cal     400
1   ser     500
2   ser     600
5   ser     700

我想写一个选择查询,这样我就会得到这样的结果

ID  NAME            Amount
1   cal and ser     600
2   cal and ser     800
3   cal             300
4   cal             400
5   ser             700

在这里,我需要按ID和金额的总和进行分组,并使用相同的id和不同的名称连接字符串名称

解决方法

这将适用于sql-server 2008
SELECT p1.ID,( SELECT NAME + ' and ' 
           FROM YourTable  p2
          WHERE p2.ID = p1.ID
          ORDER BY NAME
            FOR XML PATH('') ) AS Name,sum(Amount)
      FROM YourTable p1
      GROUP BY ID ;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读