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

GROUPBY間隔オーバーラップタイムスタンプMySQLクエリ

    範囲と一致させるために、時間を5に設定したいだけだと思います。もしそうなら、あなたはこれを行うことができます:

    SELECT cast(date(stamp) as datetime) + interval 5 hour
           Sum(value) 
    FROM   table 
    WHERE  stamp >= Date_sub('2012-12-02 05:00:00', INTERVAL 1 day) 
           AND stamp < '2013-01-01 05:00:00' 
    GROUP  BY Date(stamp) 
    

    しかし、実際には少し違った言い方をしたいと思うかもしれません:

    SELECT cast(date(stamp - interval 5 hour) as datetime) + interval 5 hour
           Sum(value) 
    FROM   table 
    WHERE  stamp >= Date_sub('2012-12-02 05:00:00', INTERVAL 1 day) 
           AND stamp < '2013-01-01 05:00:00' 
    GROUP  BY Date(stamp - interval 5 hour)
    

    これにより、実際には5時間の境界で日付が再調整されます。

    注:これらのクエリはテストされていないため、構文エラーが含まれている可能性があります。

    これは、タイムスタンプが実際には日時であると想定しています。 UNIXタイムスタンプの場合は、最初に変換する必要があります。




    1. 私はsqliteからデータを取得してBaseAdapterにデータを表示するAndroidアプリを持っています..最良の方法は何ですか?

    2. SQLLIKEは実際にどのように機能しますか

    3. Mysqlの最後の挿入IDを確認できますか?

    4. MySQL REPLACE()–サブストリングのすべてのインスタンスを別のストリングに置き換えます