0

我正在尝试从 SE 的数据浏览器中找到最多支持的用户:https ://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 个结果。我不知道为什么。你可以吗?

4

1 回答 1

1

实际上你不需要加入一些表。您需要的一切都在桌子上User

UPVOTES并且DOWNVOTES是匿名的,这就是为什么您无法计算它的原因。该值已存在于列UpVotesDownVotes

询问

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
于 2013-03-31T12:11:54.873 回答