十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
oracle中前N条数据可用row_number来实现。
成都创新互联成立与2013年,是专业互联网技术服务公司,拥有项目网站设计、网站制作网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元西夏做网站,已为上家服务,为西夏各地企业和个人服务,联系电话:18982081108
如表中数据:
现在要求按照ID倒序,取出前十位:
oracle中执行方法:
select t.id,t.name from
(select test.*,row_number() over (order by id desc) rn from test) t
where rn=10;
结果:
用union吧,如:
select * from (
select * from a where a=1 and rownum=10
union
select * from a where a=2 and rownum=10
union
select * from a where a=3 and rownum=10
) a order by b
根据时间条件排序,取前十条和后十条。
1、有时间字段, 根据时间条件排序,取前十条和后十条
(1)前十条:
select * from (select * from tab_name a order by date_col )
where rownum11;
(2)后十条:
select * from (select * from tab_name a order by date_col desc)
where rownum11;
2、没有时间字段, 直接根据物理存储顺序,取前十条和后十条
(1)前十条:
select * from (select * from tab_name a order by rownum)
where rownum11;
(2)后十条:
select * from (select * from tab_name a order by rownuml desc)
where rownum11;