--建立臨時表 temp
with
tempas(
select
'裝置1
' name, to_date('
2020-01-01
', '
yyyy-mm-dd
') time, 26 value from dual union
allselect
'裝置1
' name, to_date('
2020-01-02
', '
yyyy-mm-dd
') time, 27 value from dual union
allselect
'裝置1
' name, to_date('
2020-01-03
', '
yyyy-mm-dd
') time, 28 value from dual union
allselect
'裝置2
' name, to_date('
2020-01-01
', '
yyyy-mm-dd
') time, 29 value from dual union
allselect
'裝置2
' name, to_date('
2020-01-02
', '
yyyy-mm-dd
') time, 30 value from dual union
allselect
'裝置2
' name, to_date('
2020-01-03
', '
yyyy-mm-dd
') time, 31 value from dual union
allselect
'裝置3
' name, to_date('
2020-01-01
', '
yyyy-mm-dd
') time, 32 value from dual union
allselect
'裝置3
' name, to_date('
2020-01-02
', '
yyyy-mm-dd
') time, 33 value from dual union
allselect
'裝置3
' name, to_date('
2020-01-03
', '
yyyy-mm-dd
') time, 34 value from
dual
)
name
time
value
裝置12020/1/1
26裝置1
2020/1/2
27裝置1
2020/1/3
28裝置2
2020/1/1
29裝置2
2020/1/2
30裝置2
2020/1/3
31裝置3
2020/1/1
32裝置3
2020/1/2
33裝置3
2020/1/3
34
--使用分析函式 partition by
--獲取所有裝置的最新一條資料
select name, value, time from
(
select
name, value, time,
row_number()
over(partition by name order
by time desc
) rn
from
temp
) where rn =
1
name
value
time
裝置128
2020/1/3
裝置231
2020/1/3
裝置334
2020/1/3
Oracle開發之分析函式總結
一 統計方面 複製 如下 sum over partition by order by sum over partition by order by www.cppcns.comnbsp rows between preced程式設計客棧ing and following sum over part...
Oracle使用技巧之分析函式篇
oracle是我們專案中經常使用的資料庫軟體,它的強大的功能令我們嘆服,在此蒐集了一些使用技巧整理如下,希望籍此給大家一些幫助。以下 在sql plus oracle10g 環境除錯通過。1 number p,s 的意義 我們經常使用到number型別的資料,但其中的精度問題常常令我們困惑,甚至會出...
Oracle 刪除重複資料之分析函式
有個表內有1677萬條資料,而不同的有571萬。當並不是每個欄位都相同的內容,比如有100個同名同姓的人,只是薪水不一樣了,其他字段內容一樣。就不能用rowid方法據據oracle帶的rowid屬性,進行判斷,是否存在重複,語句如下 查資料 select from table 1 awhere ro...