oracle怎么去重查詢

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 組合去重

oracle怎么去重查詢

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) 先按照column1分組,再對分組后的數據根據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教程

以上就是

? 版權聲明
THE END
喜歡就支持一下吧
點贊13 分享