MENU

COUNT関数で条件に合致するレコードの数を取得

スポンサーリンク
ITデータベース

テーブル名:test_table
カラム:test_data

■test_dataの値の数
select test_data, count(test_data) from test_table whrer test_data = “XXXX”;

■特定の値を指定※この場合、値がXXXXとZZZZの数をカウント
select test_data, count(test_data = “XXXX” or NULL), ount(test_data = “ZZZZ” or NULL) from test_table;

なんで、or NULLが必要か?

count(test_data = “XXXX” or NULL)
カウントはTRUEまたはNULLで判断される

上記の場合、test_data = “XXXX”の場合はTRUE
test_data <> “XXXX”の場合はFALSEと判定され、すべてNULL以外と判定され
正常な結果が得られない。

明示的に、対象の値以外はNULLとすることにより、意図した結果が得られる。

コメント

タイトルとURLをコピーしました