Q&A for software developers, mathematicians and others interested in cryptography
DECLARE @Keyword nvarchar(100) = '%##LowerCaseKeyword##%' -- Build the filter result set; contains key and unanswered 'skew' value CREATE TABLE #unanswered (Id int primary key, UnansweredSkew int) INSERT #unanswered SELECT q.Id as Id, CASE WHEN q.AcceptedAnswerId is null THEN -10 WHEN q.AcceptedAnswerId is not null THEN 0 END AS [Total] FROM Posts q WHERE (q.Tags LIKE '%adal%') AND ((LOWER(q.Body) LIKE @Keyword) OR (LOWER(q.Title) LIKE @Keyword)) -- Build the weighting result set SELECT p.Id AS [Post Link], p.ViewCount, p.AnswerCount, CASE WHEN p.AcceptedAnswerId is null THEN 'false' ELSE 'true' END AS Answered, ((p.ViewCount * 0.01) + p.AnswerCount + u.UnansweredSkew) AS Weight, CONVERT(VARCHAR(10), p.CreationDate, 1) as Created, CAST((GETDATE() - p.CreationDate) AS INT) as Age, p.Tags -- Join the 2 result sets FROM Posts p JOIN #unanswered u ON u.Id = p.Id ORDER BY Answered ASC, Weight DESC