Rails 选择特定字段查询
Model.find默认使用select *从结果集中选择所有字段。
例如,只选择 viewable_by 和 locked 字段:
Client.select("viewable_by, locked") 上面的代码会生成下面的 SQL 语句:
SELECT viewable_by, locked FROM clients
在查询时如果想让某个字段的同值 录只出现一次,可以使用 distinct 方法添加唯一性约束:
Client.select(:name).distinct 上面的代码会生成下面的 SQL 语句:
SELECT DISTINCT name FROM clients 唯一性约束在添加之后还可以删除:
query = Client.select(:name).distinct # => 返回无重复的名字
query.distinct(false) # => 返回所有名字,即使有重复