按具有 2 个不同值的两行数据汇总/分组
Posted
技术标签:
【中文标题】按具有 2 个不同值的两行数据汇总/分组【英文标题】:Roll up/group by two rows of data with 2 different values 【发布时间】:2021-09-05 11:51:00 【问题描述】:我希望标题有点解释性,但假设我有如下数据:
Num1 Val1 Type Code String1 String 2
1X2 GG X11 123 NULL NULL
1X2 GG X11 123 Test String Test String
我希望实现的是这样的:
Num1 Val1 Type Code String1 String 2
1X2 GG X11 123 Test String Test String
我试过类似的东西:
Select Num1, Val1, Type, Code, MAX(String1) as String1, and MAX(String2) as String2
From table
Group Num1, Val1, Type, Code
我只是用 MAX 测试它,因为我不知道这样的东西是否可以用 STRING 来实现,我将它与数值一起使用,但有没有办法将两行组合起来,如上所示?
【问题讨论】:
您的代码应该可以工作。 您的 GROUP 语句中有一个额外的AND
,但没有 BY
。
【参考方案1】:
-
额外的与
GROUP BY(非 GROUP)
Select Num1, Val1, Type, Code, MAX(String1) as String1, MAX(String2) as String2
From table
Group BY Num1, Val1, Type, Code
您的代码将适用于所示情况。但是,如果您有以下情况,它也会给您相同的答案:
Num1 Val1 Type Code String1 String 2
1X2 GG X11 123 NULL Test String
1X2 GG X11 123 Test String NULL
根据您的具体要求,UPDATE 语句也可能是一种选择。
【讨论】:
以上是关于按具有 2 个不同值的两行数据汇总/分组的主要内容,如果未能解决你的问题,请参考以下文章