ITPUB??ì3
ITPUB论坛 » MySQL及其它开源数据库 » 求一个sql语句...实现一个奖学金问题

标题: [原创] 求一个sql语句...实现一个奖学金问题
离线 liao1314
初级会员



精华贴数 0
个人空间 0
技术积分 38 (32962)
社区积分 0 (106498)
注册日期 2004-2-28
论坛徽章:0
      
      

发表于 2008-6-5 21:11 
求一个sql语句...实现一个奖学金问题

有这样一个业务需求:
学校要给100个学生发奖学金,按学生成绩计算,但是每个班最多只能有5个名额,怎样查出所以该发奖学金的学生记录
学生表只有3个字段:1、id(学生id),2、cid(班级id)3、grade(考试成绩)
这个表纪录了全校的所以学生。请问在这样一种表结构下该如何实现功能,能一个sql语句写出来最好。(Mysql数据库)


__________________
http://www.itpub.net/
只看该作者    顶部
离线 albert_deng


来自 四川
精华贴数 0
个人空间 0
技术积分 161 (11180)
社区积分 16 (8372)
注册日期 2008-1-22
论坛徽章:0
      
      

发表于 2008-6-6 11:29 
感觉一条sql 实现不了


__________________
珍爱生命、活在当下
只看该作者    顶部
离线 jinguanding
Eugene


来自 上海
精华贴数 1
个人空间 70
技术积分 2338 (661)
社区积分 70 (4034)
注册日期 2007-3-29
论坛徽章:4
现任管理团队成员2008北京奥运纪念徽章:柔道生肖徽章2007版:鼠ITPUB新首页上线纪念徽章  
      

发表于 2008-6-6 16:58 
帮你出个解决问题的办法......

先每个班取出前5名,放到一个临时表中

然后再对临时表中的数据进行按分数的高低排名,使用limit 限制读取出100个名单


__________________
.....做人做事尽心尽力,做学问谦虚求根问底.......

.....专业的综合布线、安防公司........................
......www.showgold.cn..............................
......上海亮金信息技术有限公司.......................
只看该作者    顶部
离线 liao1314
初级会员



精华贴数 0
个人空间 0
技术积分 38 (32962)
社区积分 0 (106498)
注册日期 2004-2-28
论坛徽章:0
      
      

发表于 2008-6-6 22:23 
jinguanding 你好:
请问怎么样才能取出每个班的前5名...能使用分组limit吗?


__________________
http://www.itpub.net/
只看该作者    顶部
离线 jinguanding
Eugene


来自 上海
精华贴数 1
个人空间 70
技术积分 2338 (661)
社区积分 70 (4034)
注册日期 2007-3-29
论坛徽章:4
现任管理团队成员2008北京奥运纪念徽章:柔道生肖徽章2007版:鼠ITPUB新首页上线纪念徽章  
      

发表于 2008-6-7 00:19 
你可以考虑使用游标,因为这种情况下,使用游标是非常容易实现的。。。。虽然使用游标存在一些性能上的问题
但是有时候是非常不错的选择...而且可能会比使用集合方法更有效


使用游标的方法不用我说吧


__________________
.....做人做事尽心尽力,做学问谦虚求根问底.......

.....专业的综合布线、安防公司........................
......www.showgold.cn..............................
......上海亮金信息技术有限公司.......................
只看该作者    顶部
 
    

相关内容


CopyRight 1999-2006 itpub.net All Right Reserved.
北京皓辰广域网络信息技术有限公司. 版权所有
E-mail:Webmaster@itpub.net
京ICP证:010037号 联系我们 法律顾问