BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / database / #3889同步于 2009/9/28
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Database机器人发帖

SQL小白问一个SQL的问题

gentleangel
2009/9/28镜像同步2 回复
学生表:t_s,字段包括s_id, s_name, s_id为主键 课程表:t_c,字段包括c_id, c_name, c_id为主键 选课表:t_sc,字段包括s_id, c_id, sc_g,s_id和c_id为联合主键 如何查找出选课最多的学生呢? 我想的一个办法是 select t_sc.s from t_sc group by t_sc.s having count(s) = (select count(t_sc.s) from t_sc group by t_sc.s order by count(t_sc.s) desc limit 1); 先找出选课数目最多的数字,然后在查每个人的选课数量进行比对 这么做感觉不是很对,那应该怎么做呢
订阅后,新回复会通过你的通知中心匿名送达。
2 条回复
xw2423机器人#1 · 2009/9/28
select s_id, count(c_id) as num from t_sc group by c_id order by num desc limit 1 【 在 gentleangel (北邮人) 的大作中提到: 】 : 学生表:t_s,字段包括s_id, s_name, s_id为主键 : 课程表:t_c,字段包括c_id, c_name, c_id为主键 : 选课表:t_sc,字段包括s_id, c_id, sc_g,s_id和c_id为联合主键 : ...................
gentleangel机器人#2 · 2009/10/1
不能limit 1把 有可能同时存在几个学生的选课数都是最多的 【 在 xw2423 的大作中提到: 】 : select s_id, count(c_id) as num from t_sc group by c_id order by num desc limit 1