如何在使用COUNT之后在子选择中获取Max()值

时间:2019-06-16 21:56:06

标签: mysql

我有两个表可以联接和使用。我必须在一开始就数一些事情,之后我必须编写一个子查询以显示我之前计算出的maxNumber。我不知道如何正确获得子查询。

这是两个表:

1. course
coursNr(key)
topic
memberNR

2. courseo
coursNr(key)
persNr

我设法正确完成了第一步,如下所示,但是我没有正确获得子查询。

select courseo.coursNr, course.topic, count(courseo.persNr)
from courseo, course 
WHERE course.coursNr = courseo.coursNr
group by courseo.coursNr
//here follows the subquery
Where courseo.persNr IN (Select MAX (courseo.persNr)
from curseo)

直到子查询我得到这个:

courseNR topic        count(courseo.persNr)
1        database     6
2        network      8
3        organisation 2

等 但我只希望这样显示最大数量

courseNR topic    count(courseo.persNr)
2        network  8

1 个答案:

答案 0 :(得分:2)

除了使用max()之外,您还可以按计数对数据进行排序,并且只使用编号最大的行。

select courseo.coursNr, course.topic, count(courseo.persNr) as cnt
from courseo, course 
WHERE course.coursNr = courseo.coursNr
group by kursbelegung.KursNr
order by cnt desc
limit 1