Find interesting unanswered questions

0

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

Physics

Q&A for active researchers, academics and students of physics

-- 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:int##
DECLARE @NrTop int = ##NrTop:int?5##
DECLARE @FromDate date = DATEADD(month, -##Month:int?3##, SYSDATETIME())

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

insert #tags 
SELECT TOP 10
    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 q.Id  from Posts q
where (select count(*) from Posts a where a.ParentId = q.Id and a.Score > 0) = 0
and CommunityOwnedDate is null and ClosedDate is null and q.ParentId is null 
and AcceptedAnswerId is null and CreationDate > @FromDate


select top ##Limit:int?500## u.Id as [Post Link], 
  p.Tags as Tags, 
  p.ViewCount, 
  DATEDIFF(day, SYSDATETIME(), p.CreationDate) as Age,
  us.Reputation,
  (sum(t.[Count]) / 10.0 + us.Reputation / 100.0 + p.Score * 100 + p.ViewCount / 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, p.ViewCount, p.Tags,  p.CreationDate
order by Weight desc

Enter Parameters

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