23

したがって、これは何よりも問題の質問ですが、これが私がやろうとしていることです。

アイテムと呼ばれる3つのオブジェクトがあります

<Item id: 1, name: 'Book'>
<Item id: 2, name: 'Car'>
<Item id: 3, name: 'Book'>

一意の「名前」属性を 1 つだけ返すクエリを実行したいと考えています。

何かのようなものItem.select('distinct(name), items.*')

ただし、これは機能しません。それでも 3 つの項目すべてが返されます。

のみを返すようにこのクエリを作成するにはどうすればよいですか:

<Item id: 1, name: 'Book'>
<Item id: 2, name: 'Car'>
4

6 に答える 6

11

これを試してください:

Item.select('distinct name')
于 2013-08-05T03:51:01.947 に答える
0

Mysql の場合、 ONLY_FULL_GROUP_BYを無効にgroupして 使用できます。

Item.group(:name).to_sql
=> "SELECT `items`.* FROM `items`  GROUP BY name"

mysql 5.6 に ANY_VALUE 機能はありますか? を参照してください。

于 2017-11-28T09:46:13.453 に答える