PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Recuperando a contagem de linhas e retornando 0 quando não houver linhas


Supondo que criado ser do tipo data por falta de informação.

O Postgres fornece o maravilhoso generate_series() para facilitar:
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;

Isso recupera o dia mínimo e máximo da sua tabela automaticamente e fornece uma linha por dia no meio.