我想过滤数据,以便只保留这些行,以显示每个ID的位置顺序。知道如何用SQL实现这个目标吗?请注意,相同的位置可以多次返回,但我想映射每个后续位置变化(即轨迹)。
我不知道如何生成如此处所示的测序列(基于位置),也不知道如何在下面获得所需的结果。参见:
有谁知道如何在SQL Server中完成此任务?
感谢名单
答案 0 :(得分:0)
这是家庭作业吗?您的SEQUENCE列可能是:
DENSE_RANK() OVER (PARTITION BY ID ORDER BY DATE) AS 'SEQUENCE'
...派生表可以用简单的GROUP BY和ORDER BY组装。
答案 1 :(得分:0)
查询如下:
SELECT ID,Location,Date,Location FROM DataSet WHERE ID in('123456','654321')ORDER BY ID,Date
但不知道如何获得列序列(或所需结果)。
数据
ID Date Sales Location Sequence
123456 1/01/2018 5 E313 1
123456 1/01/2018 40 D412 2
123456 1/01/2018 54 D412 2
123456 4/01/2018 15 A122 3
123456 5/01/2018 45 A122 3
123456 7/01/2018 36 A122 3
123456 7/01/2018 23 D412 4
123456 8/01/2018 12 D412 4
654321 1/01/2018 5 E313 1
654321 2/01/2018 17 E313 1
654321 3/01/2018 16 D412 2
654321 4/01/2018 15 E313 3
期望的结果
ID Location
123456 E313
123456 D412
123456 A122
123456 D412
654321 E313
654321 D412
654321 E313