COUNT(*) と COUNT(column_name) の違いを理解する
MySQL では、COUNT(*) と COUNT(column_name)関数はデータ集約において重要な役割を果たします。どちらも結果セット内の行数を返しますが、クエリの精度とパフォーマンスに影響を与える可能性のある微妙な違いがあります。
COUNT(*) と COUNT(column_name)
代替: COUNT(1)
COUNT(1) 関数は基本的に次と同じように動作します。 COUNT()。 1 が null になることはないため、結果セット内のすべての行をカウントします。結果として、COUNT(1) は COUNT() と同じパフォーマンス上の利点を提供します。
デモ
これらの関数の違いを説明するには、続く例:
CREATE TABLE table1 (x INT NULL); INSERT INTO table1 (x) VALUES (1), (2), (NULL); SELECT COUNT(*) AS a, COUNT(x) AS b, COUNT(1) AS c FROM table1;
結果:
a b c 3 2 3
ご覧のとおり、COUNT() は null 値と null 以外の値の両方をカウントして 3 を返します。 。 COUNT(x) は、NULL 値を除いた 2 を返します。そして、COUNT(1) は、COUNT() のカウント 3 と一致します。
以上がCOUNT(*) と COUNT(column_name): どの MySQL 関数をいつ使用する必要がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。