sql >> Databáze >  >> RDS >> PostgreSQL

rozdělit jeden řádek na více řádků v SQL

Myslím, že váš požadovaný výstupní vzorek "rozdělený časem" je špatný a měl by být místo toho toto

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 

Pokud je tomu tak, udělejte 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. „0000-00-00 00:00:00“ nelze reprezentovat jako java.sql. Chyba časového razítka

  2. Skupiny zabezpečení DB lze přidružit pouze k instancím VPC DB pomocí verzí rozhraní API

  3. Oracle SqlPlus – ukládání výstupu do souboru, ale nezobrazování na obrazovce

  4. MySQL nepoužívá indexy (Using filesort) při použití ORDER BY