2017-05-30 85 views
0

我不知道爲什麼我得到語法錯誤,根據this question一切都應該沒問題。我找不到一種方法來執行window function(postgres查詢返回多個列GROUPED BY個人列),這就是我使用原始SQL的原因。使用原始SQL SELECT語句時出現語法錯誤

我對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 

回答

0

應該

SUM(duration) OVER (PARTITION BY user_id) AS total_duration 
+0

非常感謝,這不是工作 –

+0

這是寶貴的小信息。 –

+0

錯誤在我身邊,這解決了它,非常感謝。 –