sql >> Database >  >> RDS >> PostgreSQL

Hoe een maandlijst te genereren in PostgreSQL?

U kunt reeksen gegevens genereren met de generate_series() functie:

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;

Dit genereert een rij voor elke maand, in een mooi formaat. Als je het als een lijst wilt hebben, kun je ze allemaal samenvoegen in een buitenste zoekopdracht:

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

SQLFiddle hier



  1. Na het importeren van gegevens in PostgreSQL, schendt de dubbele sleutelwaarde de unieke beperking

  2. Selecteer Willekeurig record en Update hetzelfde record in één Query?

  3. Moet ik een GraphQL-ID als een tekenreeks op de client verwerken?

  4. Een variabele gebruiken voor de tabelnaam in de 'Van'-clausule in SQL Server 2008