2016-04-20 103 views
2

我寫了這個SQL query.It不工作之間的區別,它說查詢來獲取當前日期和最小日期爲ID

從關鍵字未找到其中預期不會

在哪裏我錯了嗎?我的日期格式爲DD-MM-YY HH24:MI:SS。我正在使用Oracle數據庫。

SELECT dr1.pod_id, current_date() - dr1.daily_reading_date 
FROM (
    SELECT pod_id, 
      MIN(daily_reading_date) mindate 
    FROM daily_data_reading 
    GROUP BY pod_id 
    ) mini 
INNER JOIN daily_data_reading dr1 
    ON dr1.pod_id = mini.pod_id 
    AND dr1.daily_reading_date = mini.mindate 
+1

'SYSDATE-dr1.daily_reading_date' –

+1

它應該是'current_date'不'CURRENT_DATE()' –

回答

1

Oracle支持CURRENT_DATE/SYSDATEcurrent_date()

SELECT dr1.pod_id, SYSDATE - dr1.daily_reading_date 
FROM (
    SELECT pod_id, 
      MIN(daily_reading_date) mindate 
    FROM daily_data_reading 
    GROUP BY pod_id 
    ) mini 
INNER JOIN daily_data_reading dr1 
    ON dr1.pod_id = mini.pod_id 
    AND dr1.daily_reading_date = mini.mindate 

(OR)

SELECT dr1.pod_id, CURRENT_DATE - dr1.daily_reading_date 
FROM (
    SELECT pod_id, 
      MIN(daily_reading_date) mindate 
    FROM daily_data_reading 
    GROUP BY pod_id 
    ) mini 
INNER JOIN daily_data_reading dr1 
    ON dr1.pod_id = mini.pod_id 
    AND dr1.daily_reading_date = mini.mindate 
0

,沒有自我聯接。 FIRST, LAST

select pod_id, 
CURRENT_DATE - MIN(daily_reading_date) KEEP (DENSE_RANK FIRST ORDER BY daily_reading_date) OVER (PARTITION BY pod_id) "LowestDateGroupedBYID" 
from 
daily_data_reading 
相關問題