2010-10-28 9 views
18
Foo.group(:start_at).count(:id) 

मैं इसे आज तक कैसे समूहीकृत कर सकता हूं?रेल 3 तारीख दिनांक एक डेटाटाइम कॉलम

Foo.order(:start_at).group("DATE(start_at)").count 

संपादित करें: यदि आप PostgreSQL का उपयोग कर रहे, क्वेरी

Foo.order("DATE(start_at)").group("DATE(start_at)").count 

है या आप चाहिए "start_at" कॉलम एक datetime स्तंभ

उत्तर

8

मैं इस के लिए एक मणि बनाया। https://github.com/ankane/groupdate

Foo.group_by_day(:created_at).count 

आप एक समय क्षेत्र भी निर्दिष्ट कर सकते हैं।

Foo.group_by_day(:created_at, time_zone: "Pacific Time (US & Canada)").count 
+0

यह सर्वर पर mysql समय क्षेत्र तक पहुंच के बिना काम नहीं करता है। एडब्ल्यूएस – Abram

+0

के साथ एक चुनौती यदि आप mysql का उपयोग कर रहे हैं तो बहुत बड़ी निर्भरता, मेरे लिए एक सौदा ब्रेकर था। – jahrichie

+0

क्या आप मुझसे मजाक कर रहे हैं? बड़ी निर्भरता? इसके 54kb unzipped –

संबंधित मुद्दे