Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

为什么排不出第一名的名次

王明  发表于:2009-07-11 10:14:46  
复制

谁能帮我看看这个数据库里的查询-----学生成绩查询(总册)  里的名次字段为什么排不出第一名的考生,有两位考生的总分都是197分,是最高分.按理说这两位考生都应该并列第一名,可查询里却把这俩位考生都排在了第二名.除此之外,所有的同分考生都是如此.谁能改改?不胜感激!

点击下载此附件

 

Top
点燃一支烟 发表于:2009-07-11 11:20:32
王明 发表于:2009-07-11 16:17:54

拜托再改改,第二第五第七名的还没排出来,总言而之,后面有很多同分的.跳过了很多名次.



点燃一支烟 发表于:2009-07-11 18:28:28

有两个并列第一,怎么会有第二名呢,当然跟着的是第三名啦,你的排序规则到底是什么?你要事先说清楚



点燃一支烟 发表于:2009-07-11 18:38:07
忽略并列因素,则点击下载此附件

蟹仔 发表于:2009-07-11 18:40:50

研究了好久才搞懂它的排序规则,就是找出比那个分数还大或者等于的总数。作为次序。例如最高分是197  有两个人。 那么比等于或者大于197的记录数就是2,那么他的排序就是2啦。这样的排序很不好改的,最好研究更好的排序方法。



蟹仔 发表于:2009-07-11 18:43:19
4楼的那位,这种排序方法估计不是楼主要的。因为两个第一名。到了第三名还是第三名,你把他弄到第二名不好吧。全班倒数那个人就不是倒数第一了?

王明 发表于:2009-07-11 18:52:34
四楼帮我解决了问题:就是忽略并列因素的排法。

蟹仔 发表于:2009-07-11 18:52:44

点击下载此附件  这个效果出来了!!!名次3 看是不是楼主要的?

名次3: DCount("[总分]","学生成绩查询(总册)","[总分]>=" & [总分] & "")-DCount("[总分]","学生成绩查询(总册)","[总分]=" & [总分] & "")+1

 

 

得到记录数减去重复的记录数再加1  真复杂~~



总记录:8篇  页次:1/1 9 1 :