*`COUNT()` は、一致しない場合でも常に結果が保証されますか? **
次のようなクエリを使用する場合は、COUNT(*)
の動作を理解することが重要です。
<code class="language-sql">SELECT COUNT(*) as num FROM table WHERE x = 'y'</code>
クエリの説明
このクエリは、 列が table
に等しい x
テーブル内の行の数をカウントします。 y
答え: はい、`COUNT()` は常に結果を返します**
条件に一致するレコードがない場合に NULL 値を返す MAX、SUM、MIN などの他の集計関数とは異なり、 は常に結果を返します。 COUNT(*)
原因: `COUNT()` は NULL 値をカウントします**
この動作の理由は、 が NULL 値を持つ行を含むテーブル内のすべての行を評価するためです。したがって、WHERE 句の条件に一致する行がない場合でも、COUNT(*)
は常に 0 を返します。 COUNT(*)
追加メモ:
COUNT(*)
を使用する必要がある場合があります。 COUNT()
COUNT(*)
例外
このルールにはまれに例外があります。例:
以上が`COUNT(*)` は一致がゼロでも常に値を返しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。