查询从其他查询的输出中获取最大结果

时间:2017-04-04 09:45:21

标签: mysql

我使用了查询:

select count(registration.stu_id) as cnt,course.dept_id from registration,course where registration.course_id=course.course_id group by registration.course_id, course.dept_id

从这个查询我得到了结果:

cnt   | dept_id
2     |  1
1     |  3
1     |  2
1     |  4
1     |  5

现在我需要找出max cnt

的结果

我应该使用什么查询?

3 个答案:

答案 0 :(得分:0)

SELECT MAX(cnt) FROM (
select count(registration.stu_id) as cnt,course.dept_id 
from registration,course where registration.course_id=course.course_id group 
by registration.course_id, course.dept_id ) 
y

您可以将查询用作子查询,然后获取最大值

答案 1 :(得分:0)

尝试这个

select max(cnt) as max_cnt
from (select count(registration.stu_id) as cnt,
             course.dept_id 
      from registration,course 
      where registration.course_id=course.course_id 
      group by registration.course_id, course.dept_id)

答案 2 :(得分:0)

如果您想获得前1个最高值

,请使用以下查询

选择count(registration.stu_id)作为cnt,course.dept_id来自注册,当然其中registration.course_id = course.course_id group by registration.course_id,course.dept_id 按cnt desc limit 1排序

尽可能避免使用子查询以获得更好的性能。

相关问题