count、
sum、
avgなどの集計関数を使用するSQLクエリの最後に、(理由はわからないが)
GROUP BY`句が必要なことはわかっている:
SELECT count(userID), userName
FROM users
GROUP BY userName
他にどのような場合に GROUP BY
が有効で、パフォーマンスにどのような影響がありますか?
タグの使用回数を数えるのは、グーグルの例かもしれない:
SELECT TagName, Count(*)
AS TimesUsed
FROM Tags
GROUP BY TagName ORDER TimesUsed
単純にタグの明確な値が欲しいのであれば、DISTINCT
ステートメントを使う方がいいだろう。
SELECT DISTINCT TagName
FROM Tags
ORDER BY TagName ASC