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

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

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

時(shí)間:2015-06-28 00:00:00 來源:IT貓撲網(wǎng) 作者:網(wǎng)管聯(lián)盟 我要評(píng)論(0)

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

  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排序

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

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

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

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

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

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

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

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

  lag(arg1,arg2,arg3):

  arg1是從其他行返回的表達(dá)式

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

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

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

相關(guān)閱讀

文章評(píng)論
發(fā)表評(píng)論

熱門文章 Oracle中使用alter table來增加,刪除,修改列的語法 Oracle中使用alter table來增加,刪除,修改列的語法 oracle中使用SQL語句修改字段類型-oracle修改SQL語句案例 oracle中使用SQL語句修改字段類型-oracle修改SQL語句案例 誤刪Oracle數(shù)據(jù)庫實(shí)例的控制文件 誤刪Oracle數(shù)據(jù)庫實(shí)例的控制文件 為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刪除表的幾種方法