我想使用DENSE_RANK()来划分星期数,并按id排序,它工作得很好。
但是我有一些例子,我有一个id,它的持续时间是两周数,它给了他另一个id,而不是第一个id,因为order by。
这就是结果:
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我该怎么解决它呢?
发布于 2012-11-25 16:47:40
尝试如下所示:
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只有一行。
https://stackoverflow.com/questions/13549476
复制相似问题