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

前端之家收集整理的这篇文章主要介绍了Sql选择group by和string concat [复制]前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
参见英文答案 > How to concatenate text from multiple rows into a single text string in SQL server?43个
我有一张这样的桌子
  1. ID NAME Amount
  2. 1 cal 100
  3. 2 cal 200
  4. 3 cal 300
  5. 4 cal 400
  6. 1 ser 500
  7. 2 ser 600
  8. 5 ser 700

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

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

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

解决方法

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

猜你在找的MsSQL相关文章