小编Kar*_*hik的帖子

ORDER BY在PARTITION BY函数中的作用是什么?

我有一张数据表,

    ID        SEQ    EFFDAT                 
------- ---------    -----------------------
  1024          1    01/07/2010 12:00:00 AM   
  1024          3    18/04/2017 12:00:00 AM   
  1024          2    01/08/2017 12:00:00 AM   
Run Code Online (Sandbox Code Playgroud)

当我执行以下查询时,我得到错误的最大序列仍然得到正确的最大生效日期.

查询:

SELECT 
max(seq) over (partition by id order by EFFDAT desc) maxEffSeq,
partitionByTest.*,
max(EFFDAT) over (partition by (id) order by EFFDAT desc ) maxeffdat
FROM partitionByTest;
Run Code Online (Sandbox Code Playgroud)

输出:

 MAXEFFSEQ         ID        SEQ EFFDAT                   MAXEFFDAT              
---------- ---------- ---------- ------------------------ ------------------------
         2       1024          2 01/08/2017 12:00:00 AM   01/08/2017 12:00:00 AM   
         3       1024          3 18/04/2017 12:00:00 AM   01/08/2017 12:00:00 AM   
         3       1024 …
Run Code Online (Sandbox Code Playgroud)

sql oracle sql-order-by partition-by

3
推荐指数
2
解决办法
85
查看次数

标签 统计

oracle ×1

partition-by ×1

sql ×1

sql-order-by ×1