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

mysqlに対応する結果がない場合でもカウントを取得するにはどうすればよいですか?

    これを行うには、「月」テーブルを作成してから、そのテーブルとレポートテーブルの間に左外部結合を使用できます。

    mysqlを使用したことがないので、構文が少しずれている場合はお詫びしますが、これはクエリになります:

    SELECT months.monthNumber,
        count(reports.id) AS `count`
    FROM `months` left outer join `reports` on months.monthNumber = month(reports.date_lm) 
    WHERE (status = 'submitted') 
    AND (date_lm > 2012-08) 
    GROUP BY monthNumber
    ORDER BY monthNumber ASC
    

    重要なのは、カウントは月のテーブルではなく、レポートのテーブルの列である必要があります。そうしないと、ゼロになることはありません。



    1. SQLクエリからElasticSearchクエリへの自動変換

    2. Oracle-文字列のカンマ区切りを分割します(文字列にはスペースと連続したカンマが含まれます)

    3. row_number()を使用したSQL更新

    4. SQLテーブルの重複レコードを削除するためのストアドプロシージャ