I øjeblikket er det uklart, hvad du ønsker, at Postgres skal returnere. Du siger, at den skal bestilles efter persons.updated_at
men du henter ikke det felt fra databasen.
Jeg tror, det du vil gøre er:
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!
Nu beder du eksplicit DB'en om at sortere efter den resulterende værdi fra COUNT-aggregatet. Du kan også bruge:ORDER BY 2 DESC
, der effektivt fortæller databasen at sortere efter den anden kolonne i resultatsættet. Jeg foretrækker dog stærkt at angive kolonnen for klarhedens skyld.
Bemærk at jeg i øjeblikket ikke er i stand til at teste denne forespørgsel, men jeg tror, det burde virke.