Ruby on rails sql distinct语句和在rails上使用多个表
你会如何用“rails方式”写这行 查询本身是:Ruby on rails sql distinct语句和在rails上使用多个表,ruby-on-rails,Ruby On Rails,你会如何用“rails方式”写这行 查询本身是: SELECT count(DISTINCT csu.user_id) AS count_user_id FROM course_sessions_users csu, course_sessions cs WHERE cs.course_id = ? AND csu.course_session_id = cs.id 钢轨的使用方法 count = CourseSessionsUser.count('csu.user_i
SELECT count(DISTINCT csu.user_id) AS count_user_id
FROM course_sessions_users csu,
course_sessions cs
WHERE cs.course_id = ?
AND csu.course_session_id = cs.id
钢轨的使用方法
count = CourseSessionsUser.count('csu.user_id',
:distinct => true, :conditions => ["cs.course_id = ?", @course.id]
:joins => "cs LEFT JOIN course_sessions_users csu ON cs.id = csu.course_session_id")
如果条件匹配,这将直接返回非零整数,否则返回零好吧,我认为“rails方式”会更短,但我不认为使用这段代码有任何好处。有吗?
count = CourseSessionsUser.count('csu.user_id',
:distinct => true, :conditions => ["cs.course_id = ?", @course.id]
:joins => "cs LEFT JOIN course_sessions_users csu ON cs.id = csu.course_session_id")