繁体   English   中英

基于列值在 T-SQL 中将某些行组合在一起

[英]Group Certain Rows Together in T-SQL Based on Column Value

我有以下查询:

select MT.* 
from MyTable MT 
where 0 = 0  
order by ChangeDate, Type, ItemNumber

它返回以下内容:

TableID    ChangeDate    Description    ItemNumber    Type
-------    ----------    -----------    ----------    ----
11259      2019-05-20    Item1          1335          MOVE
11260      2019-05-20    Item2          1475          MOVE
11261      2019-05-20    Item3          1782          UPDATE
11262      2019-05-20    Item4          1789          UPDATE
11263      2019-05-20    Item5          1782          MOVE

我正在尝试将具有相同 ItemNumber 的行(例如:1782)组合在一起,并且在尝试使用 GROUP BY 子句来实现这一点时遇到了困难,因为我不知道如何操作关联的聚合方法来实现这一点。 任何人?

更新

更具体地说,我希望具有相同 ItemNumber 的行彼此相邻,如下所示:

TableID    ChangeDate    Description    ItemNumber    Type
-------    ----------    -----------    ----------    ----
11259      2019-05-20    Item1          1335          MOVE
11260      2019-05-20    Item2          1475          MOVE
11261      2019-05-20    Item3          1782          UPDATE
11263      2019-05-20    Item5          1782          MOVE
11262      2019-05-20    Item4          1789          UPDATE

看起来您只是想要一个不同的ORDER BY子句 - 我看不出这与聚合( GROUP BY )有何关系。 看起来应该是:

order by ChangeDate, ItemNumber, TableID

或者,可能:

order by ItemNumber, ChangeDate, Type

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM