首頁 >資料庫 >Oracle >oracle怎麼重查詢

oracle怎麼重查詢

hzc
hzc原創
2020-06-09 09:53:4230752瀏覽

oracle怎麼重查詢

oracle重查詢的方法是:

oracle 資料庫多重欄位去重

方法介紹:distinct 關鍵字、group by  、row_number ()over(partition by 列order by 列desc)

我的需求是:根據某幾列去重查詢出去重後的全部資訊。最後我選擇的是第三種方法。

我的想法:我想找出一個更簡單的方法去 實作去重查詢。越直接越好。

表格結構&&內容

oracle怎麼重查詢

1、distinct 關鍵字的用法:distinct 關鍵字後面的欄位組合去重distinct 必須

# select distinct id from test

結果;根據id 去重

select distinct id,name from test

##結果:根據id和name 組合去重(類似  id | | name  這樣去重)

oracle怎麼重查詢

2、group by 分組去重

select id,name from test group by id,name

結果:根據id,name 組合去重

20170523141826007 (1).png

3、row_number ()over(partition by 列order by 列asc | desc)方法

#3.1 row_number() over(order by column asc)   先對列column依照升序,再為每筆記錄回傳一個序號

3.2 row_number() over(partition by column1 order by column2 asc) 先依照以column2 asc)分組,再將分組後的資料依column2 升序排列

註:order by 必須得有

範例select a.*,row_number() over(partition by a.id,a.sex order by name) su from test a;

oracle怎麼重查詢

去重例子:根據id和sex 去重

select id,name,sex from(

select a.*,row_number() over(partition by a.id,a.sex order by name) su from test a )

where su=1

結果:

oracle怎麼重查詢

我的需求是:根據某幾列去重查詢出去重後的全部資訊。

推薦教學: 《

Oracle教學

以上是oracle怎麼重查詢的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn