Förutsatt att skapats
vara av typen date
i brist på information.
Postgres tillhandahåller den underbara generate_series()
för att göra detta enkelt:
SELECT d.created, COUNT(s.id) AS ct
FROM (
SELECT generate_series(min(created)
, max(created), interval '1 day')::date AS created
FROM signups
) d
LEFT JOIN signups s USING (created)
GROUP BY 1
ORDER BY 1 DESC;
Detta hämtar minsta och högsta dag från ditt bord automatiskt och ger en rad per dag emellan.