0

今は修正できない小さな問題が発生しました ^_^ アドバイスをお願いします。問題は、mysql テーブルからいくつかのレコードの最新の更新を取得することだけです。これはサンプル データですが、実際のデータには数千のレコードがあります。

Id  site_id      updated_at               value
1   1            "2012-05-14 09:04:02"    5
2   2            "2012-05-14 09:04:02"    8
3   2            "2012-05-15 09:04:02"    9
4   3            "2012-05-16 09:04:02"    7
5   1            "2012-05-17 09:04:02"    5
6   1            "2012-05-18 09:04:02"    3

そして、返すXXXX関数が必要です

Id  site_id      updated_at               value
6   1            "2012-05-18 09:04:02"    3
4   3            "2012-05-16 09:04:02"    7
3   2            "2012-05-15 09:04:02"    9
4

2 に答える 2

1

あなたのモデルが呼ばれると仮定しますAccount

Account.joins("LEFT OUTER JOIN accounts a 
    ON a.site_id = accounts.site_id AND a.value > accounts.value").
  where("a.value IS NULL").order("accounts.updated_at DESC").limit(3)
于 2012-06-21T05:20:53.147 に答える
1

このようなもの?

YourModel.order("updated_at desc").limit(3)
于 2012-06-20T09:18:32.297 に答える