Top Close Voters

1

Please login or register to vote for this query.

(click on this box to dismiss)

Stack Overflow em Português

Perguntas e respostas para programadores profissionais e entusiastas

-- Returns all close voters since StartDate, ordered from most to least votes
-- Only counts closed votes that actually resulted in a closure,
-- and does not count deleted questions

-- I wouldn't recommend running this on StackOverflow due to its size

-- Variables - Set start date to timeframe you want
declare @startDate datetime
set @startDate = '1/1/2012'

declare @userid int
declare @users table
(
  userid int,
  closedcount int
)

-- Cursor for all users who can vote to close
declare cur cursor for 
    select id 
    from users
    -- 500 is required for close on beta sites so reduced
    where reputation >= 500
      and lastaccessdate >= @startDate
    
open cur
fetch next from cur into @userid
while @@fetch_status = 0
begin

  insert into @users(userid, closedcount)
  SELECT @userid, count(*)
  FROM PostHistory 
  WHERE PostHistoryTypeId = 10 
  AND Text LIKE '%"Id":' + CAST(@userid AS nvarchar) + ',%'
  and creationdate >= @startDate
  
  fetch next from cur into @userid
end

close cur
deallocate cur

-- Add Mark Trapp
insert into @users(userid, closedcount)
SELECT 8, count(*)
FROM PostHistory 
WHERE PostHistoryTypeId = 10 
AND Text LIKE '%"Id":' + CAST(8 AS nvarchar) + ',%'
and creationdate >= @startDate

-- Return results
select top 100 u.ClosedCount, case when u.userid = 8 then 'Mark Trapp' else users.displayname end as 'User'
from @users as u
left outer join users on u.userid = users.id
order by u.closedcount desc

Enter Parameters

Options:
Switch sites:
loading Hold tight while we fetch your results