Office中国论坛/Access中国论坛

标题: 一个放了两个星期都没有高手能解决的问题 [打印本页]

作者: twklzw    时间: 2003-5-22 20:48
标题: 一个放了两个星期都没有高手能解决的问题
[em06]难!!因为这个问题我要放弃Access开发了,下面是一个人事考评的查询,无法实现:
[B]select top 2 From table Order by field [/B]多于2条记录,只要值相同,都会列出.
select top 2 From table Order by field  若在排序字段上的值相同时,会把所有相同的结果都列出来,但我只想要一条结果,有办法吗?SQL Server 用with ties 才会出现这种情况!

top 2 只是特例子,如TOP 10 、TOP 8 percent 等[em10]
作者: zhengjialon    时间: 2003-5-22 21:22
把相同的记录先合计一下。
作者: 李寻欢    时间: 2003-5-22 23:26
是不是你的数据库有什么特别的地方?
我试了一下好象不会象你说的那样,是不是把你的文件放上来看看。
作者: twklzw    时间: 2003-5-23 00:31
人事考评系统,要求:对一批人(50个以上)评分,有三类人打分,每类打分人从10~500人之间,要去掉10%最高分,最低分10%后的平均分,排名。
就是么简单,我开始以为一个SQL语句(用子查询)最搞定,后来发现不行。
作者: 竹笛    时间: 2003-5-23 07:10
这就是计算机的优越性,既然数值相同,那就得都列出来。
换种思维:
先top 10 ,再换个不会重复的字段top 10
作者: twklzw    时间: 2003-5-23 16:38
对,是可以,用两次top后就可以了,
谢谢高手




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3