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

MySQL:クエリを選択、5分刻み

    以下は、タイムスタンプが:00、:05、:10 ...

    のデータで構成されるサンプルを取得します。
    SELECT time, temp_out FROM wmr200 WHERE date(time) = curdate()
        AND mod(minute(time),5) = 0
    

    モジュロ関数を使用して、時間の分の部分が(0または)5で割り切れるかどうかを確認しています。

    時間セグメントごとに1つの結果のみが必要な場合は、かなり複雑にする必要があります。

    SELECT concat(date(time),' ',hour(time),':',round(minute(time)/5,0)*5), 
           min(temp_out), avg(temp_out), max(temp_out) 
    FROM wmr200 
    GROUP BY date(time), hour(time), round(minute(time)/5,0)*5
    

    現在、MySQLインスタンスにアクセスしてテストすることはできませんが、ここにアイデアがあります。日付、時間、round(minute(time)/5,0)*5でグループ化して、5分ごとにグループ化します。 -これは分を最も近い5に丸めます。

    グループ化する時間の値と、最小、平均、最大のtemp_outを選択します。これは、これらのどれがあなたの状況に最も適しているかわからなかったためです。

    ただし、DBに5分間のストレッチ(または、使用している場合は30分間のストレッチ)のデータがない場合でも、サンプルポイントのデータがない可能性があります。



    1. HibernateはデータベースからSequenceInformationをフェッチできませんでした

    2. Linux上のDelphiをSQLServerに接続する

    3. SQLの欠落データテーブルにCreatedByとCreatedOnを挿入します

    4. MySQLの列で数値以外の値を見つける方法