2010-03-20 148 views
0

我有兩個表:主題和學生。 我想要統計每個學生註冊的科目數量。我該怎麼做呢?我正在嘗試下面的代碼,但它沒有給出我需要的答案。請幫忙。幫助與SQL查詢

SELECT COUNT(subject.SUBJECT) , student.IDNO, student.FIRSTNAME, subject.SUBJECT 
FROM student, subject 
GROUP BY subject.SUBJECT 
LIMIT 0 , 30 
+0

如何表是什麼樣子? – Bjoern 2010-03-20 13:53:59

回答

1

你也有登記表,不是嗎?解決學生與學科之間的多對多關係。你可以用這個工作。比方說,您的報名表中有studentID和subjectID列,那麼你只需要:

SELECT studentID, COUNT(*) FROM Enrolment GROUP BY studentId; 

,或者包括他們的名字也

SELECT s.firstname, COUNT(*) FROM Enrolment e JOIN student s on e.studentId=s.IDNO GROUP BY e.studentId; 
1

您缺少連接條件。您正在存儲有關每個學生正在學習的科目的信息。也許WHERE subject.student_id = student.id