PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

raggruppa per data funzione di aggregazione in postgresql

Al momento non è chiaro cosa vuoi che Postgres torni. Dici che dovrebbe essere ordinato da persons.updated_at ma non recuperi quel campo dal database.

Penso che quello che vuoi fare sia:

SELECT date(updated_at), count(updated_at) as total_count 
FROM "persons"
WHERE ("persons"."updated_at" BETWEEN '2012-10-17 00:00:00.000000' AND '2012-11-07     12:25:04.082224') 
GROUP BY date(updated_at)
ORDER BY count(updated_at) DESC -- this line changed!

Ora stai dicendo esplicitamente al DB di ordinare in base al valore risultante dall'aggregato COUNT. Puoi anche usare:ORDER BY 2 DESC , dicendo in modo efficace al database di ordinare in base alla seconda colonna nel set di risultati. Tuttavia, preferisco di gran lunga indicare esplicitamente la colonna per chiarezza.

Nota che al momento non sono in grado di testare questa query, ma penso che dovrebbe funzionare.