rownum函数
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
rownum函数
rownum函数是一种用于查询结果集的行号分配的函数,它是Oracle数据库中用于创建查询结果集中每行唯一标识符的常见手段。
rownum函数返回一个从1开始的整数,用于根据查询语句以及查询出来的每一行数据的顺序编号,比如,可用于分页的时候,根据rownum 编号可以更快更容易的实现分页功能。
rownum函数在Oracle数据库中标准的SQL语句中属于经常使用的函数,它是Oracle中独有的函数,虽然其他的数据库例如 MySQL 也有类似的行号分配函数,但都不能达到rownum函数的灵活性,在Oracle环境中rownum函数能够很好的实现分页功能,能够更加快捷、灵活地实现动态查询结果集,在实现大量数据检索的时候,其可以从查询效率上发挥其最大的作用。
rownum函数比较常见的一种使用方式是搭配orderby语句,即将rownum作为一个排序列,可以将查询结果按照其rownum值进行排序,这个使用方式可以让查询结果可以按照行号的顺序进行排列,从而实现更加清晰的查询结果呈现,这也是某些显示数据列表的应用中rownum函数最大的作用。
在实现分页的时候,rownum函数的使用也可以极大的提高查询的效率,一般在实现分页的时候,一般会伴随着两个常用的参数:pageSize(每页显示的记录数)和currentPage(当前页),根据这两个参数,可以实现通过rownum筛选出当前页面查询结果,比如,当pageSize为10,currentPage为2的时候,就可以用rownum条件
限定查询结果,形如:rownum>=11 and rownum<=20,从而实现对查询结果的分页功能。
当然,要实现rownum函数的分页功能,同时还需要使用orderby 函数,而rownum函数只会根据查询结果集中每一行数据的顺序编号,而不会根据其业务数据进行编号,所以需要用orderby函数在rownum 函数前先进行排序,从而保证查询结果不会有任何错误,这样就可以用rownum函数实现分页功能。
rownum函数在Oracle数据库中可以说是一个不可或缺的重要函数,在大数据量的检索的时候,其能够有效的帮助用户查询结果集,在实现分页功能的时候,由于rownum函数本身就是按行编号进行分页,所以可以有效的提高查询效率,大大减少查询的耗时,从而达到在实现分页功能的时候更加高效、简单的效果。