【发布时间】:2015-09-19 04:18:35
【问题描述】:
我正在尝试根据某个演员上过多少次来订购一组电视节目。我关注了其他一些堆栈溢出问题,提出了同样的问题,但我遇到了一个我在任何地方都没有提到的错误。
Show.joins(:contributions)
.select('show.*, COUNT(contributions.id) AS guest_count')
.where('contributions.role_id = 2')
.where('contributions.person_id IN (?)', self.id)
.order('guest_count desc')
PG::SyntaxError: 错误: "AS" LINE 1: SELECT 处或附近的语法错误 COUNT(show.*, COUNT(contributions.id) AS guest_co...
输出:
: SELECT COUNT(COUNT(contributions.id) AS guest_count, show.*) FROM
"show" INNER JOIN "episodes" ON "episodes"."show" = "show"."id"
INNER JOIN "contributions" ON "contributions"."episode_id" =
"episodes"."id" WHERE (contributions.role_id = 2) AND
(contributions.person_id IN (42))
这是我一直关注的堆栈溢出:Rails 3 ActiveRecord: Order by count on association
【问题讨论】:
-
能贴出sql解释的结果吗?
-
好主意,谢谢提醒!
-
你不会得到
explain的结果,因为这是一个语法错误。
标签: ruby-on-rails postgresql activerecord