Как указано в заголовке, мы ищем все сообщения (включая пользователей, комментарии и предлагаемые изменения), в которых исходный вопросник принял их собственный ответ как лучший ответ.Другими словами, во всех случаях, когда OwnerUserId for PostTypeId 1 = OwnerUserId for PostTypeId 2
.
, я борюсь с этим, поскольку у меня нет глубокого понимания схемы SEDE DB
.
Это из SEDE
примеры, которые получают пользователей с высокими показателями самоприятия (и имеющих> 10 ответов), но нам нужны сообщения с самопринятыми ответами, а не только пользователи.
SELECT TOP 100
Users.Id AS [User Link],
(
CAST(COUNT(a.Id) AS float) /
CAST(
(
SELECT COUNT(*)
FROM Posts p
WHERE p.OwnerUserId = Users.Id
AND PostTypeId = 1
)
AS float
) * 100
) AS SelfAnswerPercentage
FROM Posts q
INNER JOIN Posts a ON q.AcceptedAnswerId = a.Id
INNER JOIN Users ON Users.Id = q.OwnerUserId
WHERE q.OwnerUserId = a.OwnerUserId
GROUP BY Users.Id, DisplayName
HAVING COUNT(a.Id) > 10
ORDER BY SelfAnswerPercentage DESC