Table A事項J0A0HG7L 對應4個時間,如何得出第三個時間或第二個時間。 欄位1 欄位2 欄位3
J0A0HG7L 44 2016/10/8 上午 02:35:54
J0A0HG7L 46 2016/10/9 上午 03:48:26
J0A0HG7L 49 2016/10/10 上午 03:18:53
J0A0HG7L 51 2016/10/11 上午 03:38:15如果想得出最后一筆時間和倒數第2筆的時間差大于30分鐘,求SQLPS: 第1個可以用min(欄位3), 最后1個可以用max(欄位3)求高手指點
J0A0HG7L 44 2016/10/8 上午 02:35:54
J0A0HG7L 46 2016/10/9 上午 03:48:26
J0A0HG7L 49 2016/10/10 上午 03:18:53
J0A0HG7L 51 2016/10/11 上午 03:38:15如果想得出最后一筆時間和倒數第2筆的時間差大于30分鐘,求SQLPS: 第1個可以用min(欄位3), 最后1個可以用max(欄位3)求高手指點
-- rn = 1時,即為最後的數據,rn =2 時,即為倒數第二的數據
-- 語法參考如下:
select t.* , row_number(partition by 欄位1 order by 欄位3 desc) rn from t
select t.欄位1,t.欄位3,t.欄位3,row_number() over(partition by t.欄位1order by t.欄位3 desc) rn from tab_name t)
select from tt t1,tt t2
where t1.欄位1=t2.欄位1 and t1.rn=1 and t1.rn=t2.rn-1
and (t1.欄位3-t2.欄位3)>30/60/24
select nth_value(欄位3, 1) over(partition by 欄位1 order by 欄位2 desc) n1_val,--最后一筆時間
nth_value(欄位3, 2) over(partition by 欄位1 order by 欄位2 desc) n2_val,--倒數第2筆時間
a.*
from tab a