Find interesting unanswered questions

1

Please login or register to vote for this query.

(click on this box to dismiss)

Looks at unanswered questions in your top 20 tags and sorts them by a combined weight which takes into account: score, askers reputation and how well you do on that particular tag

Programming Language Design and Implementation

Q&A for designers and implementers of computer programming languages

-- Find interesting unanswered questions
-- Looks at unanswered questions in your top 20 tags and sorts them by
-- a combined weight which takes into account: score, askers reputation and how
-- well you do on that particular tag

DECLARE @UserId int = ##UserId##

create table #tags (TagId int, [Count] int)

insert #tags 
SELECT TOP 20 
    TagId,
    COUNT(*) AS UpVotes 
FROM Tags
    INNER JOIN PostTags ON PostTags.TagId = Tags.id
    INNER JOIN Posts ON Posts.ParentId = PostTags.PostId
    INNER JOIN Votes ON Votes.PostId = Posts.Id and VoteTypeId = 2
WHERE 
    Posts.OwnerUserId = @UserId
GROUP BY TagId
ORDER BY UpVotes DESC


create table #unanswered (Id int primary key)

insert #unanswered 
select distinct q.Id  
from Posts q
inner join posttags pt on pt.postid = q.id 
inner join #tags t on t.tagid = pt.tagid
where (select count(*) from Posts a where a.ParentId = q.Id and a.Score > 0) = 0
and q.CommunityOwnedDate is null 
and q.ClosedDate is null 
and q.AcceptedAnswerId is null
-- group by q.id
-- having count(a.id) = 0


select top 2000 u.Id as [Post Link], 
(sum(t.[Count]) / 10.0 + us.Reputation / 200.0 + p.Score * 100) as Weight 
from #unanswered u
join Posts p on u.Id = p.Id
join PostTags pt on pt.PostId = u.Id
join #tags t on t.TagId = pt.TagId  
join Users us on us.Id = p.OwnerUserId  
group by u.Id, us.Reputation, p.Score 
order by Weight desc

Enter Parameters

Options:
Switch to meta site
loading Hold tight while we fetch your results