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

タイムスタンプの2つのテーブルのmysqlオーバーラップ

    データセットが結果セットとどのように相関するかはよくわかりませんが、多かれ少なかれこのようなものが必要なようです...

     SELECT m.id
          , DATE(FROM_UNIXTIME(m.starttime))Date,SUM(m.duration) all_movement
          , SUM(l.duration) all_load
       FROM move_table m
       JOIN load_table l
         ON l.id = m.id
        AND l.endtime > m.starttime
        AND l.starttime < m.endtime
      GROUP 
         BY m.id
          , DATE(FROM_UNIXTIME(m.starttime));
     +-------------------+------------+--------------+----------+
     | id                | Date       | all_movement | all_load |
     +-------------------+------------+--------------+----------+
     | 00:50:c2:63:10:1a | 2012-10-29 |          391 |      520 |
     | 00:50:c2:63:10:1a | 2013-02-22 |          391 |      520 |
     | 00:50:c2:63:10:1b | 2013-02-22 |          181 |      220 |
     +-------------------+------------+--------------+----------+
    

    ちなみに、duration (たとえば)SUM(m.endtime-m.starttime)が同じ結果を取得するため、このコンテキストでは冗長であるように見えます。



    1. Googleスタイルの推奨検索結果を返すT-SQLストアドプロシージャ

    2. 正規化されたテーブルから全体的に最も人気のあるタグを取得するにはどうすればよいですか?

    3. PL/SQL-アプリケーションエラーの例を上げる

    4. JavaからLotusNotesに接続する