現時点では、Postgresに何を返してほしいかは不明です。 persons.updated_at
で注文する必要があると言います ただし、データベースからそのフィールドを取得することはありません。
私はあなたがしたいことは次のとおりだと思います:
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!
これで、COUNT集計からの結果値でソートするようにDBに明示的に指示しています。 ORDER BY 2 DESC
を使用することもできます。 、結果セットの2番目の列でソートするようにデータベースに効果的に指示します。ただし、わかりやすくするために列を明示的に記載することを強くお勧めします。
注 現在、このクエリをテストすることはできませんが、これでうまくいくと思います。