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

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

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

時間:2015-06-28 00:00:00 來源: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 上講的最詳細,還有很多相關(guān)特性,文檔看起來比較費勁

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

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

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

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

  lag(arg1,arg2,arg3):

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

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

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

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

相關(guān)閱讀

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

熱門文章 Oracle中使用alter table來增加,刪除,修改列的語法 Oracle中使用alter table來增加,刪除,修改列的語法 oracle中使用SQL語句修改字段類型-oracle修改SQL語句案例 oracle中使用SQL語句修改字段類型-oracle修改SQL語句案例 誤刪Oracle數(shù)據(jù)庫實例的控制文件 誤刪Oracle數(shù)據(jù)庫實例的控制文件 為UNIX服務(wù)器設(shè)置Oracle全文檢索 為UNIX服務(wù)器設(shè)置Oracle全文檢索

相關(guān)下載

    人氣排行 oracle中使用SQL語句修改字段類型-oracle修改SQL語句案例 Oracle中使用alter table來增加,刪除,修改列的語法 ORACLE SQL 判斷字符串是否為數(shù)字的語句 ORACLE和SQL語法區(qū)別歸納(1) oracle grant 授權(quán)語句 ORACLE修改IP地址后如何能夠使用 如何加速Oracle大批量數(shù)據(jù)處理 Oracle刪除表的幾種方法