对于以下输入
Employee_ID Date_Column
100 12/12/2016
100 15/12/2016
200 19/12/2016
我使用了查询
select employee_id,Max(Date_Column),Min(Date_Column) from Employee_ID where Date_Column is not null Group by Employee_ID
检索最长和最短日期
但是如果我的date_column只有一个员工的日期,则Max和Min函数都返回相同的日期。
但是我的预期输出是
employee_id Max(Date_Column) Min(Date_Column)
100 15/12/2016 12/12/2016
200 NULL 19/12/2016
非常感谢您的帮助
答案 0 :(得分:2)
只有一个值,Oracle代码是正确的。你可以用条件逻辑做你想做的事情:
select employee_id,
(case when max(date_column) <> min(date_column) then Max(Date_Column) end),
Min(Date_Column)
from Employee_ID
where Date_Column is not null
Group by Employee_ID;