Rails Rails 查询去重问题

Cger007 · 发布于 2017年07月07日 · 最后由 cym2015 回复于 2017年07月08日 · 726 次阅读
96

通过rails的where方法查询怎么去字段event_time的重复值,保留一条,求大神帮忙解决~

共收到 7 条回复
7809

group(:event_time)

27349
#sql语言可以这样
select distinct(event_time) from table_name where ...

使用rails方式就不清楚了
6e6ad3

永first方法行吗?

4755

用 GROUP?但好像不够规范

Model.group(:column)
8ef2eb

例如:获取users表中,所有name值为'1',并对 event_time字段去重的数据。

User.where(name: '1').select("distinct event_time ")

如果想只获取一条,后面在再调一下.first

273

GROUP BY

8ef2eb

刚看了rails官方指南,发现去重有另外一种写法😅

#对name字段去重
Client.select(:name).distinct

链接: https://ruby-china.github.io/rails-guides/active_record_querying.html

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册