Q&A for professional and enthusiast programmers
SELECT Q.Id AS QuestionId, Q.Title AS QuestionTitle, Q.Score AS QuestionScore, Q.CreationDate AS QuestionCreationDate, UQ.Reputation AS QuestionAskerReputation, (SELECT COUNT(*) FROM Posts A WHERE A.ParentId = Q.Id) AS TotalAnswers, (SELECT COUNT(DISTINCT A.OwnerUserId) FROM Posts A WHERE A.ParentId = Q.Id AND A.OwnerUserId != Q.OwnerUserId) AS DistinctAnswerUsers, (SELECT TOP 1 A.Body FROM Posts A WHERE A.ParentId = Q.Id ORDER BY A.Score DESC) AS HighestScoreAnswer, (SELECT TOP 1 A.CreationDate FROM Posts A WHERE A.ParentId = Q.Id ORDER BY A.Score DESC) AS HighestScoreAnswerCreationDate, (SELECT TOP 1 A.OwnerUserId FROM Posts A WHERE A.ParentId = Q.Id ORDER BY A.Score DESC) AS HighestScoreAnswerUserId, (SELECT TOP 1 UA.Reputation FROM Posts A JOIN Users UA ON A.OwnerUserId = UA.Id WHERE A.ParentId = Q.Id ORDER BY A.Score DESC) AS HighestScoreAnswerUserReputation, (SELECT TOP 1 A.Score FROM Posts A WHERE A.ParentId = Q.Id ORDER BY A.Score DESC) AS HighestScoreAnswerScore, (SELECT TOP 1 A.Body FROM Posts A JOIN Users UA ON A.OwnerUserId = UA.Id WHERE A.ParentId = Q.Id ORDER BY UA.Reputation DESC) AS HighestReputationUserAnswer, (SELECT TOP 1 A.CreationDate FROM Posts A JOIN Users UA ON A.OwnerUserId = UA.Id WHERE A.ParentId = Q.Id ORDER BY UA.Reputation DESC) AS HighestReputationUserAnswerCreationDate, (SELECT TOP 1 A.Score FROM Posts A JOIN Users UA ON A.OwnerUserId = UA.Id WHERE A.ParentId = Q.Id ORDER BY UA.Reputation DESC) AS HighestReputationUserAnswerScore, (SELECT TOP 1 A.OwnerUserId FROM Posts A JOIN Users UA ON A.OwnerUserId = UA.Id WHERE A.ParentId = Q.Id ORDER BY UA.Reputation DESC) AS HighestReputationUserId, (SELECT TOP 1 UA.Reputation FROM Posts A JOIN Users UA ON A.OwnerUserId = UA.Id WHERE A.ParentId = Q.Id ORDER BY UA.Reputation DESC) AS HighestReputationUserReputation FROM Posts Q JOIN Users UQ ON Q.OwnerUserId = UQ.Id WHERE Q.PostTypeId = 1 AND Q.Score >= 1 AND (SELECT COUNT(DISTINCT A.OwnerUserId) FROM Posts A WHERE A.ParentId = Q.Id AND A.OwnerUserId != Q.OwnerUserId) >= 2