Top users by total reputation networkwide


Please login or register to vote for this query.

(click on this box to dismiss)

Academia Meta

Q&A about the site for academics and those enrolled in higher education

-- result table, don't rename and keep the site column
create table #results (site nvarchar(250), accountid int,
  displayname nvarchar(40), reputation int);

declare @sql nvarchar(max) = ''   -- holds build up sql string

-- build one biq union sql, for each db
select @sql = @sql 
+ iif( len(@sql) > 1 
     , 'union all'
     , 'insert into #results'
) +
-- here goes the per site query, fully qualify the database objects
select ''' + name + ''', accountid, displayname, reputation
from ' + quotename(name) + '.dbo.users
from sys.databases
where database_id > 5
  and (name not like '%.Meta' or name = 'StackExchange.Meta')

--print @sql

-- execute it
exec (@sql)

;with allusers as
select rank() over (order by sum(reputation) desc) AS 'Rank',
  '' + cast(accountid as nvarchar)
  + '|' + max(displayname) AS 'User',
  sum(reputation) AS 'Total reputation'
  , min(accountid) accountid
from #results
group by accountid

-- show results
select 'Selected user' as 'Category'
     , [Rank], [User], [Total reputation]
from allusers
where accountid = ##AccountId:int##
union all
select 'All users'
     , [Rank], [User], [Total reputation]
from allusers
order by 1 desc, [Total reputation] desc
-- AccountId: The global account ID of the user, which you can find in the URL of their network profile. Visit this link: to see your own ID; choose if you don't want to focus on a user.

drop table #results

Enter Parameters

Switch to main site
loading Hold tight while we fetch your results