Op dit moment is het onduidelijk wat u wilt dat Postgres teruggeeft. Je zegt dat het moet bestellen bij persons.updated_at
maar u haalt dat veld niet op uit de database.
Ik denk dat je het volgende wilt doen:
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 vertel je de DB expliciet om te sorteren op de resulterende waarde van het COUNT-aggregaat. Je zou ook kunnen gebruiken:ORDER BY 2 DESC
, waardoor de database effectief wordt verteld om te sorteren op de tweede kolom in de resultatenset. Ik geef er echter de voorkeur aan om de kolom expliciet te vermelden voor de duidelijkheid.
Opmerking dat ik deze query momenteel niet kan testen, maar ik denk wel dat dit zou moeten werken.