Ruby on rails Postgresql按不在组中的列排序
我需要先拍一些新系列的电影 在rails中,我有:Ruby on rails Postgresql按不在组中的列排序,ruby-on-rails,postgresql,Ruby On Rails,Postgresql,我需要先拍一些新系列的电影 在rails中,我有: l, o = 30, 0 Movie.joins(:series).order("series.created_at DESC").group("movies.id").limit(l).offset(o) 它的意思是: SELECT "movies".* FROM "movies" INNER JOIN "series" ON "series"."movie_id" = "movies"."id" GROUP BY movies.id
l, o = 30, 0
Movie.joins(:series).order("series.created_at DESC").group("movies.id").limit(l).offset(o)
它的意思是:
SELECT "movies".*
FROM "movies" INNER JOIN "series" ON "series"."movie_id" = "movies"."id"
GROUP BY movies.id
ORDER BY series.created_at DESC
LIMIT 30 OFFSET 0
但我有错误信息
ActiveRecord::StatementInvalid: PG::GroupingError: ERROR:
column "series.created_at" must appear in the GROUP BY clause or be used
in an aggregate function
LINE 1: ..._id" = "movies"."id" GROUP BY movies.id ORDER BY series.cre...
^
而且偏移工作非常奇怪,有时他会复制结果
如何在不使用sql的情况下修复此问题?它能在MySQL中工作吗
在Pg中,我有很多这样的小问题,你认为如果我把它改成MySQL会更好吗
PS:在sqlite中,它可以工作文件如果您想要一个新的
Movie.joins(:series).order(“max(series.created_at)DESC”).group(“movies.id”).limit(l).offset(o)
如果没有聚合,此查询不知道要订购哪个系列-这不是pgsql或mysql问题
在posgres中,您有更多的聚合可能性如果您想要一个新的
Movie.joins(:series).order(“max(series.created_at)DESC”).group(“movies.id”).limit(l).offset(o)
如果没有聚合,此查询不知道要订购哪个系列-这不是pgsql或mysql问题
在posgres中,您有更多的聚合可能性如果您想要一个新的
Movie.joins(:series).order(“max(series.created_at)DESC”).group(“movies.id”).limit(l).offset(o)
如果没有聚合,此查询不知道要订购哪个系列-这不是pgsql或mysql问题
在posgres中,您有更多的聚合可能性如果您想要一个新的
Movie.joins(:series).order(“max(series.created_at)DESC”).group(“movies.id”).limit(l).offset(o)
如果没有聚合,此查询不知道要订购哪个系列-这不是pgsql或mysql问题
在posgres中,聚合的可能性更大