Usando o Postgres 9.4, tenho uma tabela page_views
que possui uma page
coluna. Eu gostaria de selecionar todas as páginas distintas e ter uma contagem antes delas e classificá-las de forma descendente. Eu também gostaria de ter uma contagem mínima de 20 nas últimas 24 horas. Para que fique assim:
120 / home
56 / about
24 / locations
Eu estava pensando:
select count(*),page from page_views group by page where count(*) > 20;
mas isso não funciona. Como fazer isso?
Não está claro se você deseja a contagem total ou a contagem nas últimas 24 horas. Para este último:
A condição
count(*) > 20
tem que entrar naHAVING
cláusula .Você não forneceu uma definição de tabela. Supondo que você tenha um
created_at
para armazenar a hora do evento.Contagens totais, mas apenas para páginas com uma contagem mínima de 20 nas últimas 24 horas: