Oracle中OVER子句的含义是什么?
发布于 2009-07-07 12:50:17
您可以使用它将一些聚合函数转换为分析函数:
SELECT MAX(date)
FROM mytable
将返回具有单个最大值的1
行,
SELECT MAX(date) OVER (ORDER BY id)
FROM mytable
将返回具有运行最大值的所有行。
发布于 2009-07-07 12:48:16
它是Oracle analytic functions的一部分。
发布于 2021-02-12 21:55:01
使用OVER的另一种方式是让select中的结果列对另一个“分区”进行操作。
这一点:
SELECT
name,
ssn,
case
when ( count(*) over (partition by ssn) ) > 1
then 1
else 0
end AS hasDuplicateSsn
FROM table;
对于其ssn由另一行共享的每一行,在hasDuplicateSsn中返回1。非常适合为不同错误报告的数据做“标签”。
https://stackoverflow.com/questions/1092120
复制相似问题