我想使用DENSE_RANK()
来分区周数,并按ID排序
它工作正常。
但我有一些情况,我有一个持续时间为两周数字的身份证, 由于订单的原因,它给了他另一个不同于第一个的身份。
这是结果:
CardID WeekN RowNum
2467 1 1
**2481 1 *2***
2468 2 1
2473 2 2
2482 2 3
**2481 2 *4***
2473 3 1
2482 3 2
2481 3 3
我对RowNum的查询是:
DENSE_RANK() OVER (PARTITION BY Lng_CardWWeek ORDER BY Duration , CardID Desc) as RowNum
我该如何解决?
答案 0 :(得分:0)
尝试这样的事情:
SELECT DENSE_RANK()
OVER (PARTITION BY Lng_CardWWeek ORDER BY Duration , CardID Desc) AS RowNum
FROM <<tablename>> AS <<name>>
[WHERE <<condtion>>]
GROUP BY CardID
ORDER BY RowNum
你必须使用SELECT来指定你试图从表中获取一些数据。此外,你必须包括表的名称。
如果您只是在后续行中列出具有相同CardID的元素,请同时使用OVER子句之外的ORDER BY子句。
尝试使用外部GROUP BY,每个CardID只能获得一行。