在Oracle中使用Over()和Partition By返回NULL

时间:2019-05-14 10:02:25

标签: sql oracle window-functions

我已使用以下查询

 select  distinct max( MONITORING_INT)  over(partition by  PATIENT_ADM_ID) Interval
 from PATIENT_PART
 where PATIENT_ADM_ID=1466;

,它返回456

输出有问题的查询如下

SELECT DISTINCT lv.NAME AS Delivery_Mode,
  pp.DELIVERY_DATETIME,


  pp.LAST_PV_EXAMINATION_DATE ,
  max( pp.MONITORING_INT)  over(partition by  pp.PATIENT_ADM_ID) Interval
FROM PATIENT_PART pp
LEFT JOIN LOOKUP_VALUES lv
ON lv.id=pp.DELIVERY_MODE_ID
WHERE pp.PATIENT_ADM_ID=1466;

输出

Delivery_Mode DELIVERY_DATETIME                  LAST_PV_EXAMINATION_DATE        Interval 
 SVD          22-APR-19 12.00.00.000000000 AM    25-APR-19 12.00.00.000000000 AM   (null)

但是当我在上述查询的max()列表中使用相同的over()select功能时,它将返回null。请让我知道原因!

0 个答案:

没有答案