gpt4 book ai didi

sql-server - T-SQL SELECT DISTINCT & ROW_NUMBER() OVER 排序问题

转载 作者:行者123 更新时间:2023-12-03 02:14:08 27 4
gpt4 key购买 nike

我正在尝试使用 ROW_NUMBER() OVER 进行分页从 View 中选择不同的行。当我将 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 时,它对它们进行了正确的排序。

谢谢。

最佳答案

将 DISTINCT 应​​用于包含 ROW_NUMBER() 的列列表将始终导致每一行都是不同的,因为每行有一个 ROW_NUMBER。

关于sql-server - T-SQL SELECT DISTINCT & ROW_NUMBER() OVER 排序问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2293987/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com