我有這樣的表。我必須找到最大日期(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