发新话题
打印

难难的SQL语句

难难的SQL语句

Access数据库
查询表:
ID                  Name                 AllCount
1                     张三                50
2                     李四                50
3                     王五                50
4                     噶个                48
5                     按时                48
6                     地发                32
7                    老牛                 32
8                    老杨                 26
9                    老裘                 25
........
.
需要达到的效果是:
执行SQL1 需要返回 AllCount 最大数的其中一条,且只要一条
ID                  Name                          AllCount
1                     张三                50  
执行SQL2
返回 AllCount 第二大数的其中一条,且只要一条
ID                  Name                          AllCount
4                     噶个                48
执行SQL3
返回 AllCount 第三大数的其中一条,且只要一条
ID                  Name                          AllCount
6                     地发                32

[ 本帖最后由 gamebless_tao 于 2006-12-25 02:06 编辑 ]

TOP

select  * from [ImgData] allcount where(select count(*) from [ImgData] where allcount>=allcount.allcount)=1
为什么这样得到的结果不行呢?

[ 本帖最后由 gamebless_tao 于 2006-12-25 07:53 编辑 ]

TOP

第一题:
select top 1  id,name,allcount from [ImgData] order by allcount desc
这样行不行?

[ 本帖最后由 yanbin_yan 于 2007-1-30 15:50 编辑 ]

TOP

第二题:
select top 1  a.*  from [ImgData]  as a,(select max(allcount)  as max_allcount from ImgData ) as b
where a.allcount<b.max_allcount
order by a.allcount desc
这样估计应该可以。
第三题类似。

TOP

发新话题