【发布时间】:2015-07-01 16:37:14
【问题描述】:
我只想在组合以连续方式出现时为组合提供行号,例如, 请指导如何在 Tsql 中获取这种类型的序列号
我试过了
ROW_NUMBER() Over (Partition by name,Order_type Order by REC_TS)
where record REC_TS is the time of order.
Name: Order type: Seq Number:
AAA ONLINE 1
AAA ONLINE 2
AAA STORE 1
AAA SPOT 1
AAA STORE 1
AAA SPOT 1
AAA SPOT 2
AAA ONLINE 1
【问题讨论】:
-
您在哪一列订购这些数据?还有像日期这样的列吗?
-
是的,还有另一列 REC_TS,其中包含订购日期和时间
-
忘记行号。什么是排序结果?表没有内在的顺序。您需要对结果进行列和排序。
-
我希望生成的序列号与结果集中给出的序列号一样。如何查询该表以获得该结果?
-
@Blam - 我相信 OP 想要的是根据
REC_TS对数据进行排序,如果前一行具有相同的名称和 order_type,则序列应增加 1,否则应从 1 重新开始. 这是我制定解决方案的基础
标签: sql sql-server tsql teradata