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

GROUP BYでCOUNTを使用する場合、MySQLにはゼロ行が含まれます

    LEFT JOINを使用する必要があります INNER JOINの代わりに 。まず、すべての voucher_typesを選択します 次に、参加を終了してカウントを見つけます。

    SELECT
      voucher_types.id AS voucher_type,
      IFNULL(vouchers_count.vouchers_remaining, 0) AS vouchers_remaining
    FROM
      voucher_types
    LEFT JOIN
      (
        SELECT
        v.type_id AS voucher_type,
        COUNT(v.id) AS vouchers_remaining
        FROM
        vouchers v
        WHERE
        v.sold = 0
        GROUP BY v.type_id
      ) AS vouchers_count
      ON vouchers_count.voucher_type = voucher_types.id
    


    1. winformリストボックスの列を非表示にする方法は?

    2. Docker Compose connect ECONNREFUSED 172.18.0.4:3306

    3. オンラインのMySql/Sqlデータベースを備えたXamarinAndroidアプリ

    4. OracleからPostgreSQLまたはYugabyteDBにデータを転送するSQLcl🅾🐘🚀