PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Wie erstelle ich eine Monatsliste in PostgreSQL?

Mit generate_series() können Sie Datenfolgen generieren Funktion:

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;

Dies erzeugt eine Zeile für jeden Monat in einem hübschen Format. Wenn Sie es wie eine Liste haben möchten, können Sie sie alle in einer äußeren Abfrage zusammenfassen:

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

SQLFiddle hier