0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

NULLABLEのカラムにNULLを含んだ数をCOUNTで取得したい場合、真っ先にCOUNT(カラム名)の書き方がパッと浮かぶ人が多いと思います。

実際に、NULLABLEのカラムをCOUNT(カラム名)でSQLを実行すると、期待したCOUNTの数値と異なります。

この問題を解決するには、COUNT(*)にする必要があります。
基本的な書き方としては、下記のようになります。

SELECT
  COUNT(*)
FROM
  テーブル名
;

HAVING句を用いてCOUNTしたクエリの一例も載せてみました。

SELECT
  カラム名
FROM
  テーブル名
HAVING
  COUNT(*) = COUNT(カラム名)
;

ここ最近実務でハマってしまったので、忘備録としてまとめました。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?