0
我正在嘗試創建一個查詢,顯示客戶端ID,每個客戶端收到的文件之間的最長時間,以及自收到最後一個文件以來的時間。Oracle SQL客戶端不活動查詢
我所擁有的信息都在一張表中,包含文件名,接收文件的時間/日期,該文件的客戶端ID以及其他多個不需要的列。
我要查找的最終結果基本上是每個客戶端ID的一行,然後是上一年內爲該客戶端發送的文件之間的最大時間,然後是最後一次接收文件之後的時間。
預先感謝您!
我正在嘗試創建一個查詢,顯示客戶端ID,每個客戶端收到的文件之間的最長時間,以及自收到最後一個文件以來的時間。Oracle SQL客戶端不活動查詢
我所擁有的信息都在一張表中,包含文件名,接收文件的時間/日期,該文件的客戶端ID以及其他多個不需要的列。
我要查找的最終結果基本上是每個客戶端ID的一行,然後是上一年內爲該客戶端發送的文件之間的最大時間,然後是最後一次接收文件之後的時間。
預先感謝您!
您可以使用lag
得到一個日期,然後group by
找到的最大差異:
with y as (
select
client_id,
received_date,
lag(received_date, 1) over (
partition by client_id
order by received_date
) as prev_date
from
x
where
received_date >= sysdate - interval '1' year
) select
client_id,
max(received_date - prev_date) as max_duration_days,
max(received_date) as last_received_date
from
y
group by
client_id;
謝謝!滯後正是我所期待的! – user2890953 2014-09-04 14:46:20
你嘗試過什麼?我們並不是真的從頭開始爲你編寫代碼。你能否至少顯示錶格模式,樣本數據以及該數據的預期結果? – 2014-09-03 21:48:58