我想得到基于条件(s.REQUIRED_DATE >= trunc(SYSDATE-1))的最小或最大日期。
下面是我的问题。
它给了我错误的ORA-00937: not a single-group group function
SELECT
case when s.REQUIRED_DATE >= trunc(SYSDATE-1) then
MIN(required_date)
else
MAX(required_date)
end required_date
FROM anytable s
WHERE s.abc = 'hhj';我怎样才能做到这一点?
查询必须返回“hhj”的17-8月-2020年和“bbj”的“15-8月-2020年”。
id abc required_date
1 hhj 14-Aug-2020
2 hhj 17-AUG-2020
3 hhj 19-AUG-2020
3 bbj 15-AUG-2020
4 bbj 12-AUG-2020 如果需要的话,我也可以采取任何其他办法。请建议
发布于 2020-08-17 07:51:57
似乎,对于您想要得到的特定abc:
如果昨天的日期过去了,
required_date最近并超过了昨天的日期,或者如果昨天的日期不超过required_date,required_date。如果是这样的话,这个查询可能就是您想要的:
select
case when max(required_date)>=trunc(sysdate-1) then
min(case when required_date>=trunc(sysdate-1) then required_date end)
else max(required_date)
end required_date
from anytable s
where s.abc='hhj';https://stackoverflow.com/questions/63445697
复制相似问题