2016-04-15 11 views
1

私のプロジェクトでは、私は学生テーブルと学校テーブルを持っています。MySQLはグループを使用して選択し、結合テーブルをカウントします

学生は企業に属します。学校には多くの学生がいます。

は(その学生が卒業時に学生のschool_idはNULLが割り当てられます。)

The student table: 
+----+------------+-----------+------------+ 
| id | first_name | last_name | school_id | 
+----+------------+-----------+------------+ 
The school table: 
+----+------------+------------------------+ 
| id | city_id | name     | 
+----+------------+------------------------+ 

目標は、内にある各学校の生徒を数え、これらのテーブルを結合し、学生番号順。

+0

GROUP BYを忘れないでください! (ステップ1、JOIN。ステップ2、GROUP BY。ステップ3、ORDER BY。) – jarlh

答えて

0

は、SQLクエリを次の点を考慮

SELECT school.NAME, 
     count(student.id) AS Total_Student 
FROM school 
     LEFT JOIN student 
       ON school.id = student.school_id 
GROUP BY school.id 
ORDER BY Total_Student 
+1

必要なグループはありませんか? – jarlh

+0

この結果:GROUP BYのない集計クエリでは、SELECTリストの式#1に集約されていない列が含まれています... –

+0

はい私は 'group by'を追加しました。私の間違いは忘れてしまった。 – Manwal

関連する問題