I nuläget är det oklart vad du vill att Postgres ska returnera. Du säger att den ska beställas efter persons.updated_at
men du hämtar inte det fältet från databasen.
Jag tror att det du vill göra är:
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 säger du uttryckligen till DB:n att sortera efter det resulterande värdet från COUNT-aggregatet. Du kan också använda:ORDER BY 2 DESC
, som effektivt talar om för databasen att sortera efter den andra kolumnen i resultatuppsättningen. Men jag föredrar starkt att uttryckligen ange kolumnen för tydlighetens skull.
Obs att jag för närvarande inte kan testa den här frågan, men jag tror att det här borde fungera.