gpt4 book ai didi

mysql - 从响应中获取与查询匹配的行号

转载 作者:行者123 更新时间:2023-11-29 12:54:51 25 4
gpt4 key购买 nike

我有以下 SQL 查询:

-- Top 3 users

SELECT
TOP (3) ROW_NUMBER() OVER(ORDER BY Reputation DESC) AS [#],
Id AS [UserId],
Reputation
FROM
Users
ORDER BY
Reputation DESC;

考虑上面的查询返回以下结果:

UserId | Reputation
-------------------
33 | 93123
21 | 20301
40 | 20101

如何获取 ID 为 40 的用户出现的行号?在上面的示例中,它是 3

此外,我需要在另一个 SQL 查询中使用它。我怎样才能做到这一点?

最佳答案

这里有两种方法。第一个基本上使用子查询作为子查询:

SELECT seqnum
FROM (SELECT ROW_NUMBER() OVER (ORDER BY Reputation DESC) AS seqnum,
Id AS [UserId],
Reputation
FROM Users
) u
WHERE UserId = 40;

第二个只是使用标准 SQL 进行计算:

select 1 + COUNT(*)
from Users u join
Users u40
on u.Reputation < u40.reputation and
u40.Id = 40;

关于mysql - 从响应中获取与查询匹配的行号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24228449/

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