【发布时间】:2010-02-19 04:04:09
【问题描述】:
我正在尝试使用 ROW_NUMBER() OVER 从视图中选择 DISTINCT 行进行分页。当我将 ORDER BY 字段从 SMALLDATETIME 切换到 INT 时,我开始得到奇怪的结果:
SELECT RowId, Title, HitCount FROM
( SELECT DISTINCT Title, HitCount, ROW_NUMBER() OVER(ORDER BY HitCount DESC) AS RowId FROM ou_v_Articles T ) AS Temp
WHERE RowId BETWEEN 1 AND 5
此查询返回:
RowId | Title | HitCount
=======================
4 --- 9
1 --- 43
3 --- 11
2 --- 13
5 --- 0
结果显然顺序不正确。我不确定问题出在哪里,但是当我删除 DISTINCT 时,它会正确地对它们进行排序。
谢谢。
【问题讨论】:
标签: sql-server tsql paging