god*_*yan 20 postgresql activerecord ruby-on-rails arel
所以这不仅仅是一个问题,而是我想要做的事情.
我有三个对象,叫做Items
<Item id: 1, name: 'Book'>
<Item id: 2, name: 'Car'>
<Item id: 3, name: 'Book'>
Run Code Online (Sandbox Code Playgroud)
我想做一个只返回每个唯一"名称"属性之一的查询.
就像是 Item.select('distinct(name), items.*')
这不起作用,它仍然返回所有三个项目.
如何形成此查询以便它只返回:
<Item id: 1, name: 'Book'>
<Item id: 2, name: 'Car'>
Run Code Online (Sandbox Code Playgroud)
Ban*_*eil 30
如果您想要恢复整个模型,但仍保持唯一性,可以使用:
Item.select('distinct on (name) *')
Run Code Online (Sandbox Code Playgroud)
我只用Postgres数据库对它进行了测试.它可能适用于也可能不适用于mysql.
vee*_*vee 11
请试试这个:
Item.select('distinct name')
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13569 次 |
| 最近记录: |