我有一个包含两列的表,如:
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
答案 0 :(得分:1)
使用分组依据功能,然后联合记录具有空值。 你可以试试这个:
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
答案 1 :(得分: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