PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

date_trunc 5 минути интервал в PostgreSQL

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 две колони:клеймо за време, съкратено до часа и 5-минутно време.

Примерът създава слотове 0 - 11 . Добавете 1 ако предпочитате 1 - 12 .
Прехвърлям резултата от extract() до цяло число, така че разделението / 5 съкращава дробни цифри. Резултатът:
минута 0 - 4 -> слот 0
минута 5 - 9 -> слот 1
и т.н.

Тази заявка връща стойности само за онези 5-минутни интервали, където са намерени стойности. Ако искате стойност за всеки слот или ако искате текуща сума над 5-минутни интервали, помислете за този свързан отговор:

  • PostgreSQL:текущ брой редове за заявка „по минута“


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как работи функцията CONCAT() в PostgreSQL

  2. Операторът не съществува:json =json

  3. Бавно подреждане на заявките по колона в обединена таблица

  4. PHP масив към postgres масив

  5. PostgreSQL:Предупреждение:Кодовата страница на конзолата (437) се различава от кодовата страница на Windows (1252)