oracle函数基础知识,Oracle基础知识

1、Oracle分页查询

现有表employee_tbl,要求按年龄降序,分页查询数据,每页3条数据。

ID  NAME         DATE                             SIGNIN   AGE

1    小明            2016-04-22 15:25:33    1            23

2    小王            2016-04-20 15:25:47    3            22

3    小丽            2016-04-19 15:26:02    2            27

4    小王            2016-04-07 15:26:14    4            29

5    小明            2016-04-11 15:26:40    4            19

6    小明            2016-04-04 15:26:54    2            17

7    小朱            2020-07-19 19:24:51    3            21

8    小智            2020-07-19 19:25:08    2            21

第一步:按年龄降序查询数据:

SELECT * FROM "employee_tbl" e_tbl order by e_tbl."age" desc

第二步:使用rownum(伪列),将rownum标记为rn,查询所有数据:

SELECT ROWNUM rn,s.* from (SELECT * FROM "employee_tbl" e_tbl order by e_tbl."age" desc)s;

第三步:按rn进行筛选,得到分页数据,以查第二页为例:

SELECT * from (select ROWNUM rn,s.* from (SELECT * FROM "employee_tbl" e_tbl order by e_tbl."age" desc)s) where rn>=4 and rn<=6;

注意这里不能直接对rownum进行大于号比较,否则会一直查不到数据,以下的写法就是错误的(查第一个rownum对应的数据时发现不满足条件,然后后面的所有数据又分别作为第一个rownum,依然不满足条件,导致最后一条数据也没有):

select ROWNUM,s.* from (SELECT * FROM "employee_tbl" e_tbl order by e_tbl."age" asc)s where ROWNUM<=8 and ROWNUM>=5;

总体思想是从内向外写SQL,以本例来说明,内层先进行排序(如果内层先编号rownum,再排序,则rownum是错误的),第二层进行rownum编号,第三层根据rownum条件进行筛选。

分页查询公式:

分页查询,假设每一页有pageSize条数据,则第N页的起始行号是:pageSize*(N-1)+1,结束行号是:pageSize*N。(行号从1开始)

2、Oracle函数

主要包括单行函数、聚合函数两大类,从操作对象来看,主要分为数值、字符串、日期时间等。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值