2013-03-31 63 views
0

获取与最upvotes用户我试图找到该用户与SE的数据探索最upvotes: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的结果。我无法弄清楚为什么。你可以吗?

+3

这是乔恩斯基特。你不需要查询:) –

+0

@juergend哈哈 - 但仍然,我想看看它! – Keelan

+0

你最喜欢的是什么? upvotes用户或用户收到upvoted一个问题或答案? –

回答

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 
+1

如果你想有参数,请http://data.stackexchange.com/stackoverflow/query/edit/105684 –