This is the network wide query that does what you ask for.
When run today these are top post with Introducing the Developer Story being the "winner" (based on ordering on total votes):

Here is the actual SQL query:
-- start create url from dbname
IF OBJECT_ID ( '#siteurl', 'P' ) IS NOT NULL
DROP PROCEDURE #siteurl;
GO
-- create url based on dbname
create procedure #siteurl
@dbname nvarchar(250),
@res nvarchar(250) OUT
as
begin
declare @p1 nvarchar(250) = parsename(@dbname,1)
declare @p2 nvarchar(250) = parsename(@dbname,2)
declare @p3 nvarchar(250) = parsename(@dbname,3)
set @res =
(case @dbname
when 'StackExchange.Meta' then 'Meta.StackExchange'
when 'StackOverflow.Meta' then 'Meta.StackOverflow'
when 'StackExchange.Audio' then 'avp.StackExchange'
when 'StackExchange.Audio.Meta' then 'Avp.Meta.StackExchange'
when 'StackExchange.Mathoverflow.Meta' then 'meta.Mathoverflow.net'
when 'StackExchange.Mathoverflow' then 'Mathoverflow.net'
else (case when @p1 = 'Meta' then @p2 else @p1 end) +
(case when @p2 is null then '' else '.' end) +
(case when @p1 = 'Meta' then @p1 else isnull(@p2,'') end) +
(case when @p3 is null then '' else '.' end) +
isnull(@p3,'')
end) + '.com'
end;
GO
-- all databases
declare db_c cursor for select [name]
from sys.databases
where database_id > 5 -- skip master, temp, model, msdb, Data.SE
-- and [name] not like 'StackOverflow'
declare @db_c_name sysname -- holds name of db after fetch
declare @sql nvarchar(max) -- holds build up sql string
-- result table
create table #all_posts ( site nvarchar(250)
, title nvarchar(250)
, postid int
, upvotes int
, downvotes int);
open db_c
fetch next from db_c into @db_c_name
while(@@FETCH_STATUS = 0)
begin
set @sql = N'
use '+ QUOTENAME(@db_c_name) +';
declare @url nvarchar(250)
exec #siteurl ''' + @db_c_name + ''', @url output
insert into #all_posts
select -- top 10
@url
, ''tbd''
, v.postid
, sum(case when v.votetypeid = 2 then 1 else 0 end)
, sum(case when v.votetypeid = 3 then 1 else 0 end)
from-- posts p
-- inner join posts q on q.id = coalesce(p.parentid, p.id) and q.posttypeid = 1
-- inner join
votes v -- on v.postid = p.id
where v.votetypeid in (2,3)
-- and p.posttypeid in (1,2)
group by -- q.title,
v.postid
having (cast(sum(case when v.votetypeid = 2 then 1 else 0 end) as decimal) /
(sum(case when v.votetypeid = 3 then 1 else 0 end)
+ sum(case when v.votetypeid = 2 then 1 else 0 end)))
between 0.4 and 0.6
order by sum(case when v.votetypeid = 3 then 1 else 0 end)
+ sum(case when v.votetypeid = 2 then 1 else 0 end) desc
'
exec (@sql)
fetch next from db_c into @db_c_name
end;
close db_c;
deallocate db_c;
select replace(
replace(
replace(site,
'.StackExchange.com',''),
'.com',''),
'.net','') as [site]
, 'http://'
+ site
+ '/q/'
+ cast(postid as nvarchar)
+ '| Post Id: '
+ cast(postid as nvarchar) as post
, upvotes
, downvotes
from #all_posts
order by upvotes + downvotes desc
drop table #all_posts
drop procedure #siteurl
Due to the resource hungry nature of the join needed to get the post title I could only make this work by just querying the votes table for each site. Due to that I can only offer the ID of the post for a specific site. Just click the link to find the actual post.
The query includes all main sites and site meta's.