V tuto chvíli není jasné, co chcete, aby se Postgres vrátil. Říkáte, že by to mělo být objednáno podle persons.updated_at
ale toto pole nenačtete z databáze.
Myslím, že to, co chcete udělat, je:
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!
Nyní explicitně říkáte DB, aby třídila podle výsledné hodnoty z COUNT-agregátu. Můžete také použít:ORDER BY 2 DESC
, což efektivně říká databázi, aby třídila podle druhého sloupce v sadě výsledků. Velmi preferuji explicitní uvedení sloupce pro jasnost.
Poznámka že momentálně nemohu tento dotaz otestovat, ale myslím, že by to mělo fungovat.