从 Rails 环境中的表中查询不同组中具有最大 id 的所有记录

Clo*_*BSD 0 sql sqlite postgresql ruby-on-rails ruby-on-rails-4.1

我有一个orders带有 idcolor列的表,id 是唯一的列。

|  id  | color |  
| ---- | ----- |  
|   1  | Red   |  
|   2  | Red   |  
|   3  | Green |  
|   4  | Green |  
|   5  | Blue  |  
|   6  | Blue  |  
Run Code Online (Sandbox Code Playgroud)

我希望得到id他们color组中最大的所有行,查询结果应该是

|   2  | Red   |  
|   4  | Green |  
|   6  | Blue  |  
Run Code Online (Sandbox Code Playgroud)

如何使用 Sqlite3(开发环境)和 PostgreSQL 9.3(生产环境)在 rails 环境中查询正确结果

谢谢。

IS0*_*S04 5

你可以写:

Order.group(:color).maximum(:id)
Run Code Online (Sandbox Code Playgroud)