data.stackexchange.comでクエリを作成しようとしました。これにより、1000 回以上表示された投稿を書き、特定のクラスのバッジを所有しているユーザーの割合がどのくらいかという質問に対する答えが得られます。
問題:
なぜそれが起こるのか理解できないので、私が書くAND ViewCount > 1000
と同じ結果が得られますWHERE ViewCount > 1000
WHERE を使用したクエリ:
SELECT
TOP 1000
Class, (Count(Badges.UserId)* 100 / (SELECT COUNT(*) From Badges)) AS Percentage
FROM Badges
WHERE Badges.UserId IN (SELECT Posts.OwnerUserId FROM Posts
INNER JOIN
Badges ON Posts.OwnerUserId = Badges.UserId
WHERE ViewCount > 1000)
GROUP BY Class
ORDER BY Class
AND を使用したクエリ:
SELECT
TOP 1000
Class, (Count(Badges.UserId)* 100 / (SELECT COUNT(*) From Badges)) AS Percentage
FROM Badges
WHERE Badges.UserId IN (SELECT Posts.OwnerUserId FROM Posts
INNER JOIN
Badges ON Posts.OwnerUserId = Badges.UserId
AND ViewCount > 1000)
GROUP BY Class
ORDER BY Class
出力 (何らかの理由でどちらの場合も同じです):
1クラス - 2パーセント
2クラス - 15%
3 クラス - 45%