database - 如果没有 order by 子句,Oracle 中的 FIRST_VALUE() 函数如何处理行?

标签 database oracle plsql data-warehouse analytic-functions

First_value() 定义声明它返回有序数据集中的第一个值。它的语法是

First_Value(ColumnName) over ( [按列分区] [按列排序])

Partition By 和 Order By 是可选的。如果删除分区依据,我们将获得整个集合的第一个值。

我的问题是,如果删除了 Order By,我们会得到什么?? Oracle 是对集合进行隐式排序,还是只是给出一个随机的第一个值,或者给出第一个值以便插入数据?

最佳答案

实际上,如果您不指定 ORDER BY,您将按照 Oracle 返回结果集的顺序获取数据。这将是任意的,并且会随着查询计划的变化而变化。

关于database - 如果没有 order by 子句,Oracle 中的 FIRST_VALUE() 函数如何处理行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10100584/

相关文章:

database - 如何在数据库 : BLOB or ARRAY? 中存储向量

sql-server - 在中间层使用 Entity Framework 时,我们应该如何捕获数据库用户?

sql - 奇怪的 PostgreSQL "value too long for type character varying(500)"

java - 如何将数据库表中的行值与jsp中的字符串进行比较

oracle - 如何删除oracle中的预定作业

database - 当数据库中的值发生变化时向 Web 客户端发送消息

java - 转义 JDBCPreparedStatement 参数中的两个单引号

c# - 为什么我的更新语句没有更新表?

sql - DBMS_CHANGE_NOTIFICATION 和 NEW_REG_START

sql - PLSQL 触发器错误。 "is mutating, trigger/function may not see it"ORA-04091