あるテーブルの特定のカラムで重複なくカウントしたい場合
SELECT COUNT(*) FROM (SELECT DISTINCT level FROM player);
みたいにサブクエリとして書いていたが、
SELECT COUNT(DISTINCT level) FROM player;
みたいにかけることを知った。 こちらのほうがスマートだし、わかりやすい。
ただし多くのRDBMSでここのマルチカラムは許容されていない。 その場合は素直にサブクエリにして対応するのが吉。
あるテーブルの特定のカラムで重複なくカウントしたい場合
SELECT COUNT(*) FROM (SELECT DISTINCT level FROM player);
みたいにサブクエリとして書いていたが、
SELECT COUNT(DISTINCT level) FROM player;
みたいにかけることを知った。 こちらのほうがスマートだし、わかりやすい。
ただし多くのRDBMSでここのマルチカラムは許容されていない。 その場合は素直にサブクエリにして対応するのが吉。