我不确定为什么我会收到语法错误,根据这个问题,一切都应该没问题。我无法找到一个方法来执行窗函数(Postgres的查询返回多个列的分组方式,一个单独的列),这就是为什么我用原始的SQL的原因。
我还是 Postgres 的新手,但我认为它可能与消毒有关,但我也不知道如何去做。任何帮助将不胜感激,这是我的代码:
module TasksTestQuery
def self.call
query = "SELECT user_id, username, date, SUM(user_id) AS total_work, SUM(duration) AS total_duration OVER (PARTITION BY user_id) FROM tasks"
ActiveRecord::Base.connection.find_by_sql(query)
end
end
我得到的确切错误是:
ActiveRecord::StatementInvalid
PG::SyntaxError: ERROR: syntax error at or near "(" LINE 1: SELECT user_id, username, date, SUM(user_id) AS total_work, SUM(duration) AS total_duration OVER (PARTITION BY user_id) FROM tasks
它应该是
SUM(duration) OVER (PARTITION BY user_id) AS total_duration
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句