PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

podziel pojedynczy wiersz na wiele wierszy w SQL

Myślę, że twoja próbka wyjściowa „podzielona przez czas” jest błędna i zamiast tego powinna być taka

1=> 2014-01-01 23:43:00 - 2014-01-02 02:30:00, as date 2014-01-01 
2=> 2014-01-02 02:30:01 - 2014-01-03 02:30:00, as date 2014-01-02 
3=> 2014-01-03 02:30:01 - 2014-01-03 03:33:00, as date 2014-01-03 

Jeśli tak jest, to zrób to

select day, count(*)
from (
    select generate_series(
        (start_time - interval '2 hours 30 minutes')::date,
        stop_time,
        interval '1 day'
    )::date as day
    from t
) s
group by day
order by day


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Postgresql, Ogranicz aktualizację w określonych kolumnach (tylko do odczytu)

  2. Użyć adresu e-mail jako klucza podstawowego?

  3. postgresql - zapytanie do zbudowania json

  4. Partycjonowanie PostgreSQL+tabeli:nieefektywne max() i min()

  5. Powolne zapytania Postgres 9.3