SQL保持计数多少次

时间:2016-10-25 19:27:18

标签: mysql

我有一张成绩/课程表。我试图看一个人上了多少次课程,并且还取得了他们取得的最高成绩。

到目前为止,我有: SELECT tnumber, courseid, grade FROM grades

我需要显示多次使用相同课程的所有数据。还列出了该课程的学生最高分。

如何记录课程发生的次数? 我想显示学生的tnumber,course_id,尝试和最高分。所有这些都在一个查询中。

如果我需要展示我的桌子的一个例子。让我知道,我发布他们。我只是不想用代码重载页面!

感谢。

3 个答案:

答案 0 :(得分:1)

例如(表格别名G不是必需的,因为仅涉及使用1个表格)

SELECT g.tnumber, g.courseid, min(g.grade), count(*)
FROM grades g
GROUP BY g.tNumber, g.CourseID

这将返回具有最高(字母等级)的每个记录的tnumber和courseID,以及对于同一个tnumber和courseID存在多少记录的计数。您可以使用count(*)或count(1)。

基于之前的posts我假设成绩是按字母顺序排列的。

答案 1 :(得分:0)

尝试此查询(我假设成绩是一个数字列):

select tnumber, course_id, count(course_id), max(grade)
from grades
group by tnumber, course_id

答案 2 :(得分:0)

SELECT tnumber, courseid, COUNT(courseid) times_taken, MAX(grade) highest_grade FROM grades GROUP BY tnumber, courseid

这假定grade是一个数字。