怎么查询学生数量最多的班级,并按学生数量排序

xgw1006 2010-12-03 11:03:37
怎么查询学生数量最多的班级,并按学生数量排序
...全文
1264 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
xgw1006 2010-12-04
  • 打赏
  • 举报
回复
wyang1991 你好,就上面的问题 你的sql语句是正确的,非常谢谢你。但如果这样,查询学生数量最多的班级,按学生数量排序,并显示执教该班级的老师的名字,也就再加一张老师表,统计出班级里的学生数量那个字段就不对了,结果要多得多,不知道是什么原因
wyang1991 2010-12-04
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 xgw1006 的回复:]

wyang1991 你好,就上面的问题 你的sql语句是正确的,非常谢谢你。但如果这样,查询学生数量最多的班级,按学生数量排序,并显示执教该班级的老师的名字,也就再加一张老师表,统计出班级里的学生数量那个字段就不对了,结果要多得多,不知道是什么原因
[/Quote]

因为一个老师可以执教多个班,所以连接后的表里面就重复出现了重复的记录,具体怎么改还要看你教师表的结构。
cgwccut 2010-12-03
  • 打赏
  • 举报
回复
问问题时要把题目背景交代一下呀,这样大家才能更好的帮助您解决问题呀
一口三个汉堡 2010-12-03
  • 打赏
  • 举报
回复
查看sql语法
茫茫大海 2010-12-03
  • 打赏
  • 举报
回复
表格的结构是什么样的啊?
wyang1991 2010-12-03
  • 打赏
  • 举报
回复
class(id,name)
stu(id,name,classid)

select class.id,class.name,count(stu.id) from class join stu on class.id=stu.classid
group by class.id order by count(stu.id) desc


测试数据

班级id  班级name
1 name1
2 name2

学生id name classid
1 name1 1
2 name2 1
3 name3 2
4 name4 2
5 name5 2


测试结果

id    name   count(stu.id)
2 name2 3
1 name1 2

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧