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

SQL結果(mysqlまたはperlのいずれか)で空の日付を埋める最も簡単な方法は何ですか?

    サーバー側でそのようなものが必要な場合は、通常、2つの時点の間のすべての可能な日付を含むテーブルを作成し、このテーブルをクエリ結果と結合したままにします。このようなもの:

    create procedure sp1(d1 date, d2 date)
      declare d datetime;
    
      create temporary table foo (d date not null);
    
      set d = d1
      while d <= d2 do
        insert into foo (d) values (d)
        set d = date_add(d, interval 1 day)
      end while
    
      select foo.d, count(date)
      from foo left join table on foo.d = table.date
      group by foo.d order by foo.d asc;
    
      drop temporary table foo;
    end procedure
    

    この特定のケースでは、クライアント側で少しチェックを入れたほうがよいでしょう。現在の日付がprevios + 1でない場合は、いくつかの追加文字列を入れてください。



    1. マージ更新オラクルは、安定した行のセットを取得できません

    2. 新しいRailsプロジェクトでSQLiteからPostgreSQLに変更する

    3. SpotlightCloudを使用してSQLServerのブロックを解決する

    4. Ubuntu 9.10(Karmic)でphpMyAdminを使用してMySQLを管理する