获取计数mysql列表

问题描述

我有3张桌子:

  • 学生(列表)
  • 课程(额外课程列表)
  • 题词(每个学生参加会议的题词清单)

我想为每个学生显示题字数(现在​​没有日期^^)

这是我的查询

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个结果... 怎么了?

http://www.sqlfiddle.com/#!9/40fd198/5

解决方法

它仅返回1个结果...问题在哪里?

您的查询在select子句中使用聚合函数,但没有group by子句:因此,所有行都聚合为单行,并为学生ID和令牌选择随机值。 / p>

您需要group by个学生,这样每个学生才能获得一排:

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

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...