获取计数mysql的列表
我有三张桌子:获取计数mysql的列表,mysql,sql,group-by,count,left-join,Mysql,Sql,Group By,Count,Left Join,我有三张桌子: 学生(名单) 课程(额外课程列表) 题词(每位学生的课时题词列表) 我想为每个学生显示铭文的数量(目前没有日期^) 我的问题是: SELECT student.id, student.session_token AS available_token, count(inscription_student.id_inscription) AS nb_inscription_in_progress FROM student LEFT JOIN inscription_s
- 学生(名单)
- 课程(额外课程列表)
- 题词(每位学生的课时题词列表)
SELECT
student.id,
student.session_token AS available_token,
count(inscription_student.id_inscription) AS nb_inscription_in_progress
FROM student
LEFT JOIN inscription_student ON student.id = inscription_student.id_student_join
WHERE 1
它只返回1个结果。。。
怎么了
它只返回1个结果。。。怎么了
您的查询在select
子句中使用聚合函数,但没有groupby
子句:因此所有行都聚合到一行中,并为学生id和令牌选择随机值
您需要按学生分组,这样每个学生可以得到一行:
select
s.id,
s.session_token as available_token,
count(i.id_inscription) as nb_inscription_in_progress
from student s
left join inscription_student i on s.id = i.id_student_join
group by s.id
添加
按1,2分组