sql >> データベース >  >> RDS >> Mysql

条件付きの行をカウントするときにMySQLでORNULLが必要なのはなぜですか

    これですべてが明らかになるはずです

    SELECT 4=4, 3=4, 1 or null, 0 or null
    

    出力

    1   |   0   |   1   |   NULL
    

    事実

    1. COUNTは、NOTNULLと評価される列/式を合計します。 nullでない限り、何でも1ずつ増加します。例外はCOUNT(DISTINCT)で、まだカウントされていない場合にのみ増分します。

    2. BOOLEAN式を単独で使用すると、1または0が返されます。

    3. ブール値がORの場合 -NULLで編集すると、0(false)の場合にのみNULLになります

    他の人へ

    はい、カウントが必要な唯一の列である場合は、WHERE value=4を使用できます。 ただし、4のをカウントしたいクエリの場合 他のカウント/集計を取得すると、フィルターは機能しません。別の方法は、SUM(value=4)でした。 、例:

    SELECT sum(value=4)
      FROM test
    


    1. Postgresql集約配列

    2. MySQLで数値をフォーマットする方法

    3. PHP mysqlが存在しない場合は、データベースを作成します

    4. MySQL:列がnullである行の選択