【发布时间】:2018-09-20 07:25:26
【问题描述】:
我有一个查询来列出基于 project_parent_id 字段的唯一记录。记录应根据最后更新时间列出。也就是说,对于一个 project_parent_id,一天只能出现一条记录。
使用的查询是:
Project.unscoped.group("updated_at,project_parent_id,id").select("distinct project_parent_id,id,updated_at").order(updated_at: :desc).where('Date(projects.updated_at)>=? and Date(projects.updated_at)<=? and projects.last_modified_by=? and projects.project_parent_id is not ?', start_date, end_date, user_id,nil)
得到的结果是:
项目:0x0000000bd2a568 id:2973,updated_at:2018 年 9 月 19 日星期三 10:03:27 UTC +00:00,project_parent_id:2966,
项目:0x0000000bd2a400 id:2972,updated_at:2018 年 9 月 19 日星期三 09:45:03 UTC +00:00,project_parent_id:2964,
项目:0x0000000bd2a298 id:2971,updated_at:2018 年 9 月 19 日星期三 09:44:30 UTC +00:00,project_parent_id:2966
但是,结果中没有预期的最后一条记录。最后一条记录和第一条记录的project_parent_id是一样的:2966,只有前两条记录就够了。
你能帮忙吗?
【问题讨论】:
标签: sql ruby-on-rails ruby postgresql associations