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

Jak vygenerovat seznam měsíců v PostgreSQL?

Sekvence dat můžete generovat pomocí generate_series() funkce:

SELECT to_char(generate_series(min, max, '1 month'), 'Mon-YY') AS "Mon-YY"
FROM (
  SELECT date_trunc('month', min(startdate)) AS min, 
         date_trunc('month', max(startdate)) AS max
  FROM a) sub;

To vygeneruje řádek pro každý měsíc v pěkném formátu. Pokud to chcete mít jako seznam, můžete je všechny agregovat ve vnějším dotazu:

SELECT string_agg("Mon-YY", ', ') AS "Mon-YY list"
FROM (
  -- Query above
) subsub;

SQLFiddle zde



  1. Proč mysqli vydává příkazy mimo synchronizaci?

  2. Příkaz Mysql nebyl v OS X 10.7 nalezen

  3. jak používat data JSON v chart.js?

  4. SELECT * FROM NEW TABLE ekvivalent v Postgresu