SELECT name和rowcount?

时间:2013-11-12 18:39:45

标签: mysql sql ruby-on-rails

我以前做过这么好的血腥,但我不知道怎么做。

我有一张学校表,每个都有一个ID和名字。

我有另一个学生表,每个表都有一个school_id外键。

我想写一个查询,它会返回一份学校名单和我记录的学生人数;像这样的东西:

School1 - 319
School2 - 166
School3 - 120

如果可以在Rails中优雅地完成而不诉诸原始SQL,那就获得奖励!

3 个答案:

答案 0 :(得分:1)

在SQL中你可以这样做:

SELECT s.ID, COUNT(*)
FROM schools s
INNER JOIN students ss ON ss.schoolID = s.id
GROUP BY s.ID

(关于导轨部分我无法帮助你,抱歉)。

答案 1 :(得分:0)

对我来说没有铁路指点:

SELECT
school_name, count(*)

FROM
schools

LEFT JOIN
students
USING(school_id)

GROUP BY
school_id

答案 2 :(得分:0)

试一试:

SELECT s.schoolName, COUNT(st.id) 
FROM Schools s
JOIN Students st
  ON st.school_id = s.school_id
GROUP BY s.school_id