Q&A for Drupal developers and administrators
WITH Raw AS ( SELECT PostTags.TagId, SUM(Score) AS Score FROM Posts A, PostTags WHERE A.OwnerUserId = ##AccountId:int## AND A.ParentId = PostTags.PostId GROUP BY PostTags.TagId HAVING SUM(Score) > 0 ) SELECT Tags.TagName, 1.0 * Raw.Score * LOG(Tags.Count) / ( CASE WHEN LEN(W.Body) IS NULL OR LEN(W.Body) < 1 THEN 1 ELSE LEN(W.Body) END + CASE WHEN LEN(E.Body) IS NULL OR LEN(E.Body) < 1 THEN 1 ELSE LEN(E.Body) END ) AS EditThis FROM Raw LEFT JOIN Tags ON Raw.TagId = Tags.Id LEFT JOIN Posts E ON Tags.ExcerptPostId = E.Id LEFT JOIN Posts W ON Tags.WikiPostId = W.Id ORDER BY EditThis DESC