我有这样的表。我必须找到最大日期(max_date_6)no ='000000001 001'和状态= 6。以及状态= 1的日期(max_date_1),该日期在max_date_6之后。我写这样的查询,但它只给出两个状态的最大值。但max_date_6必须是20943和MAX_DATE_1必须是21002Oracle在值后选择最大记录
WITH max_date_6 AS
(
SELECT no,
Max(DATE) date_6
FROM TABLE
where status=6
AND no='00000001 001'
GROUP BY no), max_date_1 AS
(
SELECT no,
max(DATE) date_1
FROM TABLE
WHERE status=1
AND no='00000001 001'
GROUP BY no)
SELECT date_6,
date_1
FROM max_date_6,
max_date_1 where date_6<=date_1
这听起来像你想的地位*最小*日期= 1,其中该日期比*最大*日期地位更高= 6 – 2015-02-10 14:13:08