[英]JOIN with multiple COUNT columns
course_modules
id course
1 3
2 3
3 6
4 8
5 8
23 9
46 9
user_completed_modules
id coursemoduleid userid
1 1 6
2 2 6
3 3 6
4 4 12
5 5 12
6 23 12
7 46 12
I need the output like
userid course count(coursemoduleid) count(coursemodules)
6 3 12 10
6 8 8 10
6 9 6 15
在此users completed modules
,我需要users completed modules
和users completed modules
的count of modules in a course
我對英語感到非常抱歉。
有人可以幫我查詢嗎?
SELECT count(cm.id) AS "coursemodules",
(SELECT count(cmc.coursemoduleid) FROM user_completed_modules cmc
JOIN course_modules cm ON cmc.coursemoduleid = cm.id
WHERE cmc.userid = 6 AND cm.course = 8 ) AS "completedmodules"
ROM course_modules cm WHERE cm.course= 8
嘗試:
SELECT userid, cm.course, count(*), m.ct
FROM user_completed_modules c JOIN
course_modules cm ON cm.id = c.coursemoduleid JOIN
(
SELECT course, count(*) AS ct
FROM course_modules GROUP BY course
) AS m ON cm.course = m.course
GROUP BY userid, course, m.ct
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.