難易度: 初級 / 使用テーブル: users
問題
usersテーブルのacquisition_channelを集計し、
同じ意味なのに別値として扱われているチャネルを見つけてください。
スターターSQL
SELECT
acquisition_channel,
COUNT(*) AS user_count
FROM users
GROUP BY acquisition_channel
ORDER BY user_count DESC;解答例
SELECT
TRIM(LOWER(acquisition_channel)) AS normalized_channel,
COUNT(*) AS user_count,
COUNT(DISTINCT acquisition_channel) AS raw_value_count
FROM users
GROUP BY TRIM(LOWER(acquisition_channel))
ORDER BY user_count DESC;見るべきポイント
SQL練習場のデータには、空欄、前後スペース、大小文字ゆれ、表記ゆれが少し混ざっています。
実務では正規化してから集計する視点が重要です。