oracle重查詢的方法是:
oracle 資料庫多重欄位去重
方法介紹:distinct 關鍵字、group by 、row_number ()over(partition by 列order by 列desc)
我的需求是:根據某幾列去重查詢出去重後的全部資訊。最後我選擇的是第三種方法。
我的想法:我想找出一個更簡單的方法去 實作去重查詢。越直接越好。
表格結構&&內容
1、distinct 關鍵字的用法:distinct 關鍵字後面的欄位組合去重distinct 必須
# select distinct id from test
結果;根據id 去重
select distinct id,name from test
##結果:根據id和name 組合去重(類似 id | | name 這樣去重) 2、group by 分組去重select id,name from test group by id,name結果:根據id,name 組合去重 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; 去重例子:根據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怎麼重查詢的詳細內容。更多資訊請關注PHP中文網其他相關文章!