我想在rails中获得不同的记录。 为此,我看到了 Rails: how can I get unique values from column
但问题是,通过这个解决方案,我只得到了ID。
ViewsLog.uniq.pluck(:unit_id)
[24, 21, 23, 4, 16, 5, 7]
我想要uniq unit_id的所有列
答案 0 :(得分:7)
您可以使用group
;它为您提供了所有不同的记录:
ViewsLog.group(:unit_id)
答案 1 :(得分:3)
在rails中可以使用不同的记录
ViewsLog.distinct(:unit_id)
如果你正在使用postgres并且在表中有json类型,那么需要写成如下
ViewsLog.select('distinct on (views_logs.unit_id) views_logs.*')
因为如果你的表中存在json类型,postgres不支持distinct。