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

不足している月をクエリ結果に追加する

    すべての月を含むテーブルを作成し、それをクエリと結合したままにします。の線に沿って

    select count(1) as count, months.month, year(published_at) as year
    from months left join articles on months.month = month(published_at)
    where published_at >= (now() - interval 1 year) and published_at <= now()
    group by month(published_at)
    order by year asc, month asc
    

    それは一種の仕事ですが、それはあなたに1月から12月までの結果を返し、あなたに何年も与えません。以前に同様の質問がありましたが、非常に複雑なクエリを思いついたので、もっと簡単なものが見つからない場合は、調べてみてください:

    日付間クエリが機能していませんが、今は新年です



    1. SQLite集計関数

    2. 名前が特定の文字列で始まるすべてのテーブルを削除します

    3. `brew servicesstartmysql`と`mysql.serverstart`の違い

    4. SQLException:executeQueryメソッドを更新に使用できません