Oracle基础知识[亲测有效]

Oracle基础知识[亲测有效]1、Oracle分页查询 现有表employee_tbl,要求按年龄降序,分页查询数据,每页3条数据。 ID NAME DATE SIGNIN AGE 1 小明 2016-04-22 15:25:3…

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函数

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

https://blog.csdn.net/weixin_39805338/article/details/81002980

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/7258.html

(0)
上一篇 2023-03-24
下一篇 2023-03-24

相关推荐

  • Python LabelGrid:打造高效数据标注工具

    Python LabelGrid:打造高效数据标注工具Python LabelGrid是一款开源的数据标注工具,它提供了一种简单易用的方式来标注各种类型的数据,如图像、文本、音频等等。它的目标是打造一款高效、灵活、可扩展的工具,帮助开发者快速完成各种数据标注任务。

    2024-01-10
    113
  • sqlserver视图和存储过程_SQL视图存储过程

    sqlserver视图和存储过程_SQL视图存储过程SQL基础随记2 视图 存储过程 View CREATE/ALTER/DROP VIEW ViewName as SELECT(…) 可以在视图的基础上继续创建视图,即,将之前创建的视图当做表名放

    2023-03-16
    153
  • excel交叉表转换_新手怎么做报表

    excel交叉表转换_新手怎么做报表–列转行小实例 –创建测试表 if object_id(N'test', N'U') is not null drop table test go with UnP

    2023-02-28
    147
  • 用IDEA创建Python项目

    用IDEA创建Python项目Python是一种高级语言,常被用作脚本语言和Web开发。随着Python语言的广泛应用,越来越多的开发者开始学习Python语言。在使用Python进行开发时,很多人习惯于使用某些IDE,比如:PyCharm、Visual Studio Code等等。而本文将从另一个角度,介绍如何使用IntelliJ IDEA开发Python项目。

    2024-08-15
    30
  • Linux安装MySQL – shang[通俗易懂]

    Linux安装MySQL – shang[通俗易懂]#Linux 安装Mysql 安装Linux 安装Linux 下载Mysql 点击[下载]((https://downloads.mysql.com/archives/community/)跳转到My

    2023-06-17
    148
  • Python 3.6 安装教程

    Python 3.6 安装教程Python是一种高层次的语言,它简单易学,可扩展性强。目前,Python已成为数据分析、机器学习、Web开发等领域必不可少的工具之一,而Python的安装也是开发工作的第一步。下面是Python安装教程的详细步骤。

    2024-08-26
    24
  • SQLyog连接MySQL8 异常2059-Authentication plugin ‘cachi「终于解决」

    SQLyog连接MySQL8 异常2059-Authentication plugin ‘cachi「终于解决」今数据库更新到8.0的版本后,使用DataGrip和workbench都可以链接数据库,但是使用Navicat,SQLyog连接不上数据库,提示上面错误,这就比较炸毛了…,百度查看了一圈的博文,…

    2023-03-21
    162
  • mysql的安装和下载[亲测有效]

    mysql的安装和下载[亲测有效]1、 MySQL 下载地址为: MySQL 下载,这里下载的是mysql的msi安装文件,选择下面的470.2M的版本,点击download进行下载。 2、在下载页面直接选择:No than

    2023-05-04
    157

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注