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

MySQL:日付範囲間のすべての日付を選択し、日付に一致するテーブルデータを取得します

    すべての日付を取得するためのソリューションで指定されたクエリを変更することで、これを理解しました。

    次のクエリは、すべての日付と、レコードが存在する場合はIDの数を返します。

    select d.date, count(v.id) from 
    (select adddate('1970-01-01',t4.i*10000 + t3.i*1000 + t2.i*100 + t1.i*10 + t0.i) date from
     (select 0 i union select 1 union select 2 union select 3 union select 4 union select 5 union select 6 union select 7 union select 8 union select 9) t0,
     (select 0 i union select 1 union select 2 union select 3 union select 4 union select 5 union select 6 union select 7 union select 8 union select 9) t1,
     (select 0 i union select 1 union select 2 union select 3 union select 4 union select 5 union select 6 union select 7 union select 8 union select 9) t2,
     (select 0 i union select 1 union select 2 union select 3 union select 4 union select 5 union select 6 union select 7 union select 8 union select 9) t3,
     (select 0 i union select 1 union select 2 union select 3 union select 4 union select 5 union select 6 union select 7 union select 8 union select 9) t4) d
    left join visitors v on d.date = v.date
    where d.date between '2016-06-01' and '2016-06-30'
    group by d.date
    order by d.date
    

    日付範囲を取得するための礼儀は @mark-bannister に行きます 結果のクエリマッチングを単純に結合すると、並べ替えによって解決策が得られます。



    1. MySQL on Azureパフォーマンスベンチマーク–ScaleGridとAzureデータベース

    2. データベースがeコマースビジネスをサポートする方法

    3. MySQL5.7を完全に削除する

    4. mysqlで、カスケードの削除が機能しない場合