| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1870 人关注过本帖
标题:请教:如何从若干班级中挑选出各班成绩总分第一的学生来?
只看楼主 加入收藏
taifu945
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:80
帖 子:1545
专家分:3298
注 册:2012-7-6
收藏
得分:40 
好了,天热,大家都消消火,都是讨论问题的么,没必要。也怪我在打牌之余没详查,以致代码不对。现在更正如下:
SELECT Bjh 班级, Xm 姓名, Tot 总分 ;
   FROM Cjk ;
   WHERE Cjk.Bjh+STR(Cjk.Tot)=ANY ;
      (SELECT Bjh+STR(MAX(Tot)) ;
            FROM Cjk GROUP BY Bjh)
执行结果如下图:
图片附件: 游客没有浏览图片的权限,请 登录注册

不知道楼主是否需要这样的结果?我栗子中只弄了3个班,但代码可以适应你19个班。
2013-08-13 15:26
施南人
Rank: 2
等 级:论坛游民
帖 子:40
专家分:27
注 册:2013-5-19
收藏
得分:0 
回复 21楼 taifu945
感谢您的帮助,希望您打牌多赢点!
2013-08-13 15:41
taifu945
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:80
帖 子:1545
专家分:3298
注 册:2012-7-6
收藏
得分:0 
以下是引用施南人在2013-8-13 15:41:34的发言:

感谢您的帮助,希望您打牌多赢点!
哈哈,谢谢!我在QQ游戏打拖拉机和大怪路子,打得脑子发胀了,过来看看,就看到自己代码有错了。这回的代码应该是你需要的了吧?
2013-08-13 15:56
whinda
Rank: 6Rank: 6
等 级:贵宾
威 望:13
帖 子:253
专家分:418
注 册:2012-2-4
收藏
得分:0 
嘿嘿。我考虑不周全。
2013-08-14 13:20
sylknb
Rank: 4
等 级:贵宾
威 望:14
帖 子:1528
专家分:180
注 册:2006-6-3
收藏
得分:0 
SELECT Bjh 班级, Xm 姓名, Tot 总分 ;
   FROM Cjk ;
   WHERE Cjk.Bjh+STR(Cjk.Tot)=ANY ;
      (SELECT Bjh+STR(MAX(Tot)) ;
            FROM Cjk GROUP BY Bjh)
现在是bjh在表中没有现成的字段它要通过从学号中截取来获得(subs(xh,1,4) as bj,)哪上述的代码如何改写?特别是子查询中的select后的语句与group by 后的语句?
2013-08-15 15:04
taifu945
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:80
帖 子:1545
专家分:3298
注 册:2012-7-6
收藏
得分:0 
以下是引用sylknb在2013-8-15 15:04:24的发言:

现在是bjh在表中没有现成的字段它要通过从学号中截取来获得(subs(xh,1,4) as bj,)哪上述的代码如何改写?特别是子查询中的select后的语句与group by 后的语句?

这个就没有办法了,得再弄一层子查询,先把班级号从学号中剥离出来,然后再用我上面的方法。命令是:

SELECT Xh 学号, Xm 姓名, Tot 总分 ;
   FROM Cjk ;
   WHERE LEFT(Xh,1)+STR(Tot) IN ;
      (SELECT Bjh+STR(MAX(Tot)) ;
           FROM (SELECT LEFT(Xh,1) Bjh, Tot ;
                     FROM Cjk
) T1;
           GROUP BY Bjh)
其中,红色代码部分就是用来把班级号从学号中剥离,形成一个有单独班级号字段的临时表文件T1。这里的班级号是一位,你是四位的话,可以把整个命令中的LEFT(Xh,1)改成LEFT(Xh,4)。

图片附件: 游客没有浏览图片的权限,请 登录注册

收到的鲜花
  • whinda2013-08-15 15:48 送鲜花  5朵   附言:我很赞同,嘿嘿
2013-08-15 15:27
sylknb
Rank: 4
等 级:贵宾
威 望:14
帖 子:1528
专家分:180
注 册:2006-6-3
收藏
得分:0 
你是VFP9吧。在VFP6下提示语法错误。
2013-08-15 16:30
sylknb
Rank: 4
等 级:贵宾
威 望:14
帖 子:1528
专家分:180
注 册:2006-6-3
收藏
得分:0 
vfp6下分二步走,已介决了。谢谢!
2013-08-15 17:05
taifu945
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:80
帖 子:1545
专家分:3298
注 册:2012-7-6
收藏
得分:0 
以下是引用sylknb在2013-8-15 17:05:52的发言:

vfp6下分二步走,已介决了。谢谢!
6.0版本下限制比较多,不知道兄弟为什么还在用6.0版本?建议兄弟换成9.0的,很多问题解决起来方便得多。
2013-08-15 20:40
快速回复:请教:如何从若干班级中挑选出各班成绩总分第一的学生来?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.026820 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved