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

date_truncPostgreSQLでは5分間隔

    SELECT date_trunc('hour', date1) AS hour_stump
         , (extract(minute FROM date1)::int / 5) AS min5_slot
         , count(*)
    FROM   table1
    GROUP  BY 1, 2
    ORDER  BY 1, 2;
    

    GROUP BYできます 2つの列:時間に切り捨てられたタイムスタンプと5分のスロット。

    この例では、スロット0 - 11が生成されます 。 1を追加します 1 - 12をご希望の場合 。
    extract()の結果をキャストしました 整数に変換するため、除算/ 5 小数桁を切り捨てます。結果:
    分0-4->スロット0
    分5-9->スロット1
    など

    このクエリは、値が見つかった5分のスロットの値のみを返します。 everyの値が必要な場合 スロットまたはランニングサムが必要な場合 5分以上のスロットについては、次の関連する回答を検討してください:

    • PostgreSQL:クエリの行数を「分単位」で実行


    1. MAX対トップ1-どちらが良いですか?

    2. クエリによって返された行ごとにストアドプロシージャを1回実行するにはどうすればよいですか?

    3. Oracleデータベースに接続しているすべてのセッションを強制終了するにはどうすればよいですか?

    4. エンティティフレームワーク6にMySQL接続を使用できません