2015-02-05 54 views
0

我有一個表有兩列,如:獲得由內而外組列的最高值,其中值不爲空

Patient_Letter_id, Version 
1     1 
1     2 
NULL     1 
NULL     1 
2      1 
2      2 
2      3 

現在我想查詢得到同樣的patient_letter_id的版本記錄的最大值,如果patient_letter_id是null然後返回如下所示的行:

patient_letter_id Version 
1      2 
NULL     1 
NULL     1 
2      3 

回答

1

使用Group By函數,然後Union與記錄具有空值。 你可以試試這個:

select patient_letter_id,version 
from yourtable 
where version is null 
union 
select patient_letter_id,max(version) as version 
from yourtable 
where version is not null 
group by patient_letter_id 
0

你可以試試這個:

select patient_letter_id, max(version) as version 
from testing 
group by case 
     when patient_letter_id is null then rand() 
     else patient_letter_id 
     end