oracle之分析函式 partition by

2022-06-05 09:00:11 字數 2076 閱讀 4843

--

建立臨時表 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...