【问题标题】:Result data after grouping分组后的结果数据
【发布时间】:2021-12-01 20:28:32
【问题描述】:

我有如下数据

02AD04-0037 20 1
02AI01-0001 50 1
02AI01-0001 15 2
02AI01-0001 50 3
02AI01-0002 50 1
02AI01-0002 15 2
02AI01-0002 50 3
02AI01-0006 25 1
02AI01-0006 15 2
02AI01-0006 25 3
02AI01-0006 50 4
02AI01-0006 25 5

我想将数据分组如下

02AD04-0037 20
02AI01-0001 50/15
02AI01-0002 50/15
02AI01-0006 25/15/50

【问题讨论】:

  • 这里应用的逻辑是什么?你都尝试了些什么?您面临什么问题?
  • 一个解释会很好,你现有的尝试也是。
  • 我尝试在 Row_Number 和 XML Path 的帮助下构建查询我得到了结果 02AI01-0006 15/ 25/50 但我需要的是它不应该对结果进行排序 02AI01-0006 25 /15/50
  • edit您的问题并添加您的尝试

标签: sql sql-server-2008


【解决方案1】:

你可以这样做:

select distinct col1
 ,  ( select distinct cast(col2 as varchar(100)) +'/'
      from data d2
      where d2.col1 = d1.col1
      for xml path('')
     )
from data d1

db小提琴here

【讨论】:

  • 非常感谢您的回答。但结果集是排序格式,我需要根据 RowID 组合数据,如下图 02AD04-0037 20 02AI01-0001 50/15 02AI01-0002 50/15 02AI01-0006 25/15/50
猜你喜欢
  • 1970-01-01
  • 2020-05-06
  • 2023-03-13
  • 1970-01-01
  • 1970-01-01
  • 2021-08-06
  • 2011-01-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多