W tej chwili nie jest jasne, co chcesz, aby Postgres wrócił. Mówisz, że należy zamówić przez persons.updated_at
ale nie pobierasz tego pola z bazy danych.
Myślę, że chcesz zrobić:
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!
Teraz wyraźnie mówisz DB, aby sortował według wartości wynikowej z agregacji COUNT. Możesz także użyć:ORDER BY 2 DESC
, skutecznie informując bazę danych o sortowaniu według drugiej kolumny w zestawie wyników. Jednak zdecydowanie wolę wyraźnie zaznaczyć tę kolumnę dla jasności.
Uwaga że obecnie nie mogę przetestować tego zapytania, ale myślę, że to powinno działać.