2014-04-17 98 views
-2

我有3個表,我將在下面簡化來說明我的問題。MYSQL COUNT查詢問題

1)模塊表

| moduleId | moduleName | courseId | 

2)視頻表

| videoId | videoName | duration | moduleId | 

2)指出表

| noteId | userId | videoId | 

我已經寫了一個查詢來獲取以下信息:

對於每個n OTE在說明表,拿到MODULENAME和videoName它屬於

SELECT module.moduleName, videos.videoName 
FROM videos,module,notes 
WHERE notes.userId = '$userId' 
    AND notes.videoId = videos.videoId 
GROUP BY videos.videoId 

但我的問題是,我想在筆記來算每部影片,有多少票據屬於它(具有給定的videos.videoId .videoId字段)

希望有任何幫助。 在此先感謝。

+0

看看文檔:https://dev.mysql.com/doc/refman/5.1/en/counting-rows.html – WASasquatch

回答

1

您可以使用加入得到計數爲每個視頻有多少票據屬於它剛剛加入筆記表與普通視頻ID,並通過與VideoID的

SELECT v.*,m.moduleName, 
COUNT(n.videoId) 
FROM videos v 
LEFT JOIN notes n USING(videoId) 
LEFT JOIN modules m ON(v.moduleId =m.moduleId) 
GROUP BY v.videoId 
做組
+0

非常感謝! – FootsieNG

0

試試這個:

SELECT m.moduleName, v.videoName 
FROM notes as n 
LEFT JOIN videos as v on v.videoId=n.videoId 
LEFT JOIN module as m on m.moduleId=v.moduleId 
WHERE n.userId = '$userId' 
GROUP BY v.videoId