oracle中rownum和row_number()有什么区别


在Oracle中,ROWNUM和ROW_NUMBER()都是用于进行行号分配的函数,但它们有一些关键的区别。

    ROWNUM是一个伪列,它是在查询结果返回之后才计算的。它表示返回结果集中的行号,而不是物理存储中的行号。因此,如果在查询中使用ROWNUM,它会在最终结果集中返回行号,而不是原始表中的行号。

例如,下面的查询将返回一个包含行号的结果集,其中行号为1到10:

SELECT ROWNUM, column_name

FROM table_name

WHERE ROWNUM <= 10;

    ROW_NUMBER()是一个分析函数,它在查询执行期间计算,并为结果集中的每一行分配一个唯一的行号。它可以用于根据指定的排序顺序对结果集进行编号。

例如,下面的查询将返回一个包含行号的结果集,其中行号是根据指定的排序顺序分配的:

SELECT ROW_NUMBER() OVER (ORDER BY column_name), column_name

FROM table_name;

总结:

ROWNUM是在查询结果返回之后计算的,而ROW_NUMBER()是在查询执行期间计算的。

ROWNUM返回的是结果集中的行号,而ROW_NUMBER()返回的是根据指定排序顺序分配的行号。

ROWNUM是一个伪列,而ROW_NUMBER()是一个分析函数。


上一篇:navicat如何连接oracle数据库

下一篇:怎么格式化云主机硬盘


oracle
Copyright © 2002-2019 测速网 www.inhv.cn 皖ICP备2023010105号
测速城市 测速地区 测速街道 网速测试城市 网速测试地区 网速测试街道
温馨提示:部分文章图片数据来源与网络,仅供参考!版权归原作者所有,如有侵权请联系删除!

热门搜索 城市网站建设 地区网站制作 街道网页设计 大写数字 热点城市 热点地区 热点街道 热点时间 房贷计算器