我正在尝试找到SE的数据资源管理器中最受欢迎的用户:http://data.stackexchange.com/stackoverflow/query/105658
SELECT
Users.DisplayName as TheUser,
COUNT(Votes.Id) as TheUpvotes
FROM
Votes,
Users
WHERE
Votes.VoteTypeId=2
AND
Votes.UserId=Users.Id
GROUP BY
Users.DisplayName
此查询返回0结果。我无法弄清楚为什么。你能吗?
答案 0 :(得分:1)
实际上你不需要加入一些表格。您需要的只是表User
。
UPVOTES
以及DOWNVOTES
是匿名的,这就是为什么你无法计算它。列UpVotes
和DownVotes
查询
SELECT [User Link], UpVotes, rn
FROM
(
SELECT a.ID as [User Link],
a.UpVotes,
DENSE_RANK() OVER (ORDER BY a.UpVotes DESC) rn
FROM Users a
)x
WHERE rn <= 10
ORDER BY UpVotes DESC