2016-04-15 31 views
1

對於我的項目,我有一張學生表和一張學校表。MySQL選擇使用組和連接表的計數

一名學生屬於一家公司。一所學校有很多學生。

(當學生畢業學生的學校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