फिलहाल यह स्पष्ट नहीं है कि आप पोस्टग्रेज को क्या वापस करना चाहते हैं। आप कहते हैं कि इसे 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!
अब आप स्पष्ट रूप से DB को COUNT-एग्रीगेट से परिणामी मान के आधार पर छाँटने के लिए कह रहे हैं। आप इसका भी उपयोग कर सकते हैं:ORDER BY 2 DESC
, परिणामसेट में दूसरे कॉलम द्वारा डेटाबेस को प्रभावी ढंग से सॉर्ट करने के लिए कह रहा है। हालाँकि मैं स्पष्टता के लिए कॉलम को स्पष्ट रूप से बताना पसंद करता हूँ।
नोट कि मैं वर्तमान में इस क्वेरी का परीक्षण करने में असमर्थ हूं, लेकिन मुझे लगता है कि यह काम करना चाहिए।