取数组最大的3条记录的sql怎么写?

[复制链接]
查看11 | 回复8 | 2014-6-21 06:00:12 | 显示全部楼层 |阅读模式
一个表table1,想取里面字段count最大的3条记录,该怎么取??
我知道可以用order by count,然后在代码里取前3个就是最大的3个记录,
但我想问有没有简单的语句直接取出这三个记录的?
回复

使用道具 举报

千问 | 2014-6-21 06:00:12 | 显示全部楼层
方法很多啊!
回复

使用道具 举报

千问 | 2014-6-21 06:00:12 | 显示全部楼层
楼上的列举一下啊,学习一下
回复

使用道具 举报

千问 | 2014-6-21 06:00:12 | 显示全部楼层
是啊是啊,列举一下哈,等~~
回复

使用道具 举报

千问 | 2014-6-21 06:00:12 | 显示全部楼层
偶来个最傻的
select *
from
(
select count
from table1
order by count desc
)
where rownumselect * from students1;

ID AREA STU_TYPE
SCORE
---------------- ---------- -------- ----------------------

1 111g
80.00

1 111j
80.00

1 222g
89.00

1 222g
68.00

2 111g
80.00

2 111j
70.00

2 222g
60.00

2 222j
65.00

3 111g
75.00

3 111j
58.00

3 222g
58.00

3 222j
90.00

4 111g
89.00

4 111j
90.00

4 222g
90.00

4 222j
89.00
16 rows selected
SQL>
SQL> select w.id,w.area,w.stu_type,w.score from
2(selectt.id,t.area,t.stu_type,row_number() over(order byscore desc) rn,t.scorefrom students1 t) w
3where w.rn<=3;

ID AREA STU_TYPE
SCORE
---------------- ---------- -------- ----------------------

3 222j
90.00

4 111j
90.00

4 222g
90.00
回复

使用道具 举报

千问 | 2014-6-21 06:00:12 | 显示全部楼层
最简单的分页写法就满足你的需求
回复

使用道具 举报

千问 | 2014-6-21 06:00:12 | 显示全部楼层
嗯,都是分页的,还有其他方法么
回复

使用道具 举报

千问 | 2014-6-21 06:00:12 | 显示全部楼层
原帖由 junsansi 于 2008-3-6 14:02 发表
最简单的分页写法就满足你的需求

火星下,什么是分页写法?


回复

使用道具 举报

千问 | 2014-6-21 06:00:12 | 显示全部楼层
子查询就OK啊
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行