除了使用临时表,是否有可能将这两个查询组合在一起?



查询1:

SELECT MAX(START_DATE) AS HIGHEST_DT
FROM T;
查询2:

SELECT
START_DATE AS LOWER_DT
FROM T
WHERE END_DATE = HIGHEST_DT;

我希望得到类似

的东西
START_DATE HIGHEST_DT

所以,似乎你有一个表t有两列,start_dateend_date(也许更多列);您想要找到最近的(最大)start_date,然后找到end_date等于这个max(start_date)的所有行,对吗?

一种方法是(没有测试,因为你没有提供测试数据):

select start_date as lower_dt,  highest_dt
from   (select start_date, end_date, max(start_date) over () as highest_dt
        from   t)
where  end_date = highest_dt;

以下是使用Sub-Query

的一种方法
SELECT
START_DATE AS LOWER_DT,END_DATE as HIGHEST_DT
FROM T
WHERE END_DATE = (SELECT MAX(START_DATE) FROM T)

最新更新