我正在尝试从记录集中获取行数。
我想要的是对记录集中的行数进行计数,并按名为的列中的公用值分组,按降序member_location
命名的列中的公用值分组reputation_total_points
,直到解析器在该ID
列中获得具有特定值的结果为止。
例如,如果查询使用member_location
= 10和id
= 2,则使用以下信息将最终得出正确的计数结果为3。以下是数据库条目的示例:
Columns: id | reputation_total_points | member_location
2 | 32 | 10
3 | 35 | 7
4 | 40 | 10
5 | 15 | 5
6 | 10 | 10
7 | 65 | 10
如果我正确理解,这应该可以正常工作:
SELECT rn
FROM
(
SELECT id
,ROW_NUMBER() -- assign a sequence based on descending order
OVER (ORDER BY reputation_total_points DESC) AS rn
FROM tab
WHERE member_location = 10
) AS dt
WHERE id = 2 -- find the matching id
实际上,这似乎是想对您的成员进行排名:
SELECT id
,RANK()
OVER (PARTITION BY member_location
ORDER BY reputation_total_points DESC) AS rnk
FROM tab
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句