Krijg een gebruiker met de meeste upvotes uit Data Explorer

I'm trying to find the user with the most upvotes from SE's data explorer: 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

Deze query retourneert 0 resultaten. Ik begrijp niet waarom. Kun je?

0
ja ru de
Het is Jon Skeet. Daar heb je geen vraag voor nodig :)
toegevoegd de auteur juergen d, de bron
Zie de SE DB doc daarvoor.
toegevoegd de auteur juergen d, de bron
@juergend haha ​​- maar toch, ik zou het graag willen zien!
toegevoegd de auteur Keelan, de bron
@JW upvotes uitgevoerd door een gebruiker.
toegevoegd de auteur Keelan, de bron
@JW vrijwel, als het aflopend zou zijn besteld door UpVotes. Ik begrijp die vraag niet echt, kan je uitleggen wat hij doet? En, nog belangrijker: kunt u uitleggen waarom mijn vraag niet werkt?
toegevoegd de auteur Keelan, de bron
@JW wat betekent dit dan? Kun je dit een antwoord geven?
toegevoegd de auteur Keelan, de bron
wat sta jij het meest bij? upvotes ontvangen door gebruiker of gebruiker heeft een vraag of een antwoord opgevolgd?
toegevoegd de auteur John Woo, de bron
UpMod betekent niet dat u upmoot gebruikt.
toegevoegd de auteur John Woo, de bron

1 antwoord

Eigenlijk hoef je niet aan een aantal tafels deel te nemen. Alles wat u nodig hebt, vindt u op tabel Gebruiker .

UPVOTES as well as DOWNVOTES are anonymous that is why you cannot count it. The value already exist on column UpVotes and DownVotes

vraag

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
toegevoegd
toegevoegd de auteur John Woo, de bron