-1

タイトルに記載されているように、元の質問者が自分の回答を最良の回答として受け入れたすべての投稿 (ユーザー、コメント、および提案された編集を含む) を取得しようとしています。つまり、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
4

1 に答える 1