2012-02-16 46 views
0

我在使用GROUP BY和秩序的問題進行分組記錄的最後一個記錄的Rails 3在一條語句檢索的使用Rails 3使用範圍

在我的控制器:

def index 
    @units = Unit.list_order.grouped 
end 

和我的模型:

scope :list_order, order("units.interior_code, units.created_at ASC") 
scope :grouped, group("units.unit_parent") 

查詢被拉回分組數據(不重複的記錄是基於unit_parent顯示),並通過interior_code有序,但它不是按日期排序的分組的記錄,即有可能是4次分組的記錄和查詢不尊重日期排序,從我已經看到了SO this崗組

這是一個類似的問題僅拉出的最後一個記錄

任何幫助將是讚賞

回答

0

如果units.created_at被命令爲一個字符串,而不是一個日期,順序似乎是不正確的。您確定created_at的值是否被當作日期處理?

+0

created_at是數據庫中的日期/時間格式,我不知道在使用order_by時需要對它進行任何不同的處理。我得到了這個工作(我認爲,需要正確測試)Unit.find_by_sql('選擇u1。*從單位u1左加入單位u2 ON(u1.unit_parent = u2.unit_parent AND u1.created_at 2012-02-16 16:57:44