IT貓撲網(wǎng):您身邊最放心的安全下載站! 最新更新|軟件分類|軟件專題|手機版|論壇轉(zhuǎn)貼|軟件發(fā)布

您當(dāng)前所在位置:首頁數(shù)據(jù)庫Oracle → ORACLE查詢不重復(fù)字段的所有列

ORACLE查詢不重復(fù)字段的所有列

時間:2015/6/28來源:IT貓撲網(wǎng)作者:網(wǎng)管聯(lián)盟我要評論(0)

  1、要求,在一個表中,某一字段為重復(fù)字段。需要去除重復(fù)字段。同時將所有字段顯示出來。

  SELECT * FROM (select a1,a2,a3,

  Row_number() OVER (PARTITION BY a1 ORDER BY a1)  rn

  from a

  ) where RN = 1

  我是oralce新手,下面附Row_number() OVER (PARTITION BY a1 ORDER BY a1)作用

  oracle分析函數(shù)RANK(),ROW_NUMBER(),LAG()等的使用方法

  ROW_NUMBER() OVER (PARTITION BY COL1 ORDER BY COL2)

  表示根據(jù)COL1分組,在分組內(nèi)部根據(jù) COL2排序

  而這個值就表示每組內(nèi)部排序后的順序編號(組內(nèi)連續(xù)的唯一的)

  RANK() 類似,不過RANK 排序的時候跟派名次一樣,可以并列2個第一名之后 是第3名

  LAG 表示 分組排序后 ,組內(nèi)后面一條記錄減前面一條記錄的差,第一條可返回 NULL

  BTW: EXPERT ONE ON ONE 上講的最詳細(xì),還有很多相關(guān)特性,文檔看起來比較費勁

  row_number()和rownum差不多,功能更強一點(可以在各個分組內(nèi)從1開時排序)

  rank()是跳躍排序,有兩個第二名時接下來就是第四名(同樣是在各個分組內(nèi))

  dense_rank()l是連續(xù)排序,有兩個第二名時仍然跟著第三名。

  相比之下row_number是沒有重復(fù)值的

  lag(arg1,arg2,arg3):

  arg1是從其他行返回的表達式

  arg2是希望檢索的當(dāng)前行分區(qū)的偏移量。是一個正的偏移量,時一個往回檢索以前的行的數(shù)目。

  arg3是在arg2表示的數(shù)目超出了分組的范圍時返回的值。

關(guān)鍵詞標(biāo)簽:ORACLE

相關(guān)閱讀

文章評論
發(fā)表評論

熱門文章 Oracle中使用alter table來增加,刪除,修改列Oracle中使用alter table來增加,刪除,修改列oracle中使用SQL語句修改字段類型-oracle修oracle中使用SQL語句修改字段類型-oracle修使用低權(quán)限Oracle數(shù)據(jù)庫賬戶得到管理員權(quán)限使用低權(quán)限Oracle數(shù)據(jù)庫賬戶得到管理員權(quán)限Oracle對user的訪問控制Oracle對user的訪問控制

相關(guān)下載

人氣排行 ORACLE SQL 判斷字符串是否為數(shù)字的語句Oracle中使用alter table來增加,刪除,修改列的語法ORACLE和SQL語法區(qū)別歸納(1)oracle grant 授權(quán)語句如何加速Oracle大批量數(shù)據(jù)處理Oracle刪除表的幾種方法ORACLE修改IP地址后如何能夠使用Oracle 10g創(chuàng)建表空間和用戶并指定權(quán)限