0
我想让所有按喜好数排序的电影(即使他们没有喜欢)。我有以下工作SQL语句:活动记录查询接口。 Count,Join&Group
SELECT *, COUNT(case when movie_votes.like = 1 then 1 end) AS count_likes
FROM movies
LEFT OUTER JOIN movie_votes
ON movie_votes.movie_id = movies.id
GROUP BY movie_id
ORDER BY count_likes;
而我想在我的控制器中实现它。到目前为止,我有:
Movie.select("*, COUNT(case when 'movie_votes'.'like'=1 then 1 end) AS count_likes").joins("LEFT OUTER JOIN 'movie_votes' ON 'movies'.'id'='movie_votes'.'movie_id'").group("'movie_id'")
,输出形式控制台:
SELECT *, COUNT(case when 'movie_votes'.'like'=1 then 1 end AS count_likes FROM `movies` LEFT OUTER JOIN 'movie_votes' ON 'movie'.'id'='movie_votes'.'movie_id' GROUP BY 'movie_id'
和Mysql2 ::错误:你在你的SQL语法错误; 我做错了什么没有语法?
结束括号后失踪 – radar 2014-09-23 12:07:10
感谢Rajesh!但我仍然在犯错误.. – gematzab 2014-09-23 12:30:10
你能分享电影和movie_votes的模式吗? – 2014-09-25 09:41:08