Tôi đang sử dụng postgresql với Ruby on Rails. Hiện tại tôi đang sử dụng tính năng này để đếm số lượng người dùng đăng ký mỗi ngày:Rails/Postgresql: Làm thế nào tôi có thể nhanh chóng nhóm các bản ghi bằng cách sử dụng trường ngày giờ theo ngày trong một múi giờ cụ thể?
@users_signup_by_day = User.count(:order => 'DATE(created_at) DESC', :group => ["DATE(created_at)"])
Tác phẩm này, nhưng người dùng được nhóm theo UTC. Tôi có thể nhóm người dùng theo EST như thế nào?
Cập nhật
người sử dụng được nhóm theo giờ UTC. Làm cách nào để nhóm người dùng theo EST?
Để làm rõ: Một ngày nhất định bắt đầu và kết thúc bằng UTC là khoảng thời gian khác với ngày bắt đầu và kết thúc bằng EST. Ngay bây giờ truy vấn được tạo ra bởi lệnh trên xem xét datetime mà người dùng đã được tạo thành UTC, và nhóm người dùng theo ngày chúng được tạo theo khoảng thời gian đó. Làm cách nào tôi có thể bù đắp cho điều này khi tôi muốn nhóm theo ngày theo EST và không phải là UTC?
Tôi đã thử những điều sau đây (nhờ Erwin Brandstetter):
User.count(:order => "DATE(created_at AT TIME ZONE 'EST') DESC", :group => ["DATE(created_at AT TIME ZONE 'EST')"])
Nhưng điều này không cho kết quả chính xác vì kết quả đầu tiên là
["2011-12-02", 276]
và nó không phải là 02/12/2011 EST (UTC - 5 giờ). Tôi đánh giá cao sự giúp đỡ nào.