我正在尝试将以下代码转换为与 PostgreSQL 一起使用。
在进行了一些挖掘之后,我意识到 PostgreSQL 的 GROUP BY 比 MySQL 更严格(以一种好的方式),但是对于我的生活,我无法弄清楚如何重写这个语句来满足 Postgres。
def show
show! do
@recent_tasks = resource.jobs.group(:task).order(:created_at).limit(5)
end
end
PG::Error: ERROR: column "jobs.created_at" must appear in the GROUP BY clause or be used in an aggregate function
LINE 1: ...ND "jobs"."project_id" = 1 GROUP BY task ORDER BY created_at...
^
: SELECT COUNT(*) AS count_all, task AS task FROM "jobs" WHERE "jobs"."deleted_at" IS NULL AND "jobs"."project_id" = 1 GROUP BY task ORDER BY created_at DESC, created_at LIMIT 5