sql根據(jù)某一個(gè)字段重復(fù)只取第一條數(shù)據(jù)

2018-08-18 14:20 更新
SELECT * FROM(  
    SELECT V.VENDOR_CODE,
           V.VENDOR_NAME,
           V.VENDOR_TYPE,
           V.SMTP_ADDR,
           V.MOB_NUMBER,
           U.USER_NAME,
           ROW_NUMBER() OVER(ORDER BY V.VENDOR_CODE) AS RN
    FROM T_BD_VENDOR V,
         T_BASE_USER U,
         '(SELECT S.*   
            FROM (  
                 SELECT T.*, ROW_NUMBER() OVER (PARTITION BY T.VENDOR_CODE ORDER BY T.USER_CODE) AS GROUP_IDX   
                 FROM T_BD_USER_VENDOR_REL T 
                 )S 
            WHERE S.GROUP_IDX = 1
         )R'
    WHERE 1=1
          AND V.VENDOR_CODE = R.VENDOR_CODE(+)
          AND R.USER_CODE = U.USER_CODE(+)
          )
  WHERE RN BETWEEN 1 AND 20

其中綠色部分表示從中間關(guān)聯(lián)表中根據(jù)VENDOR_CODE字段重復(fù)的只取出一條。 示例圖片 如上圖只取出根據(jù)VENDOR_CODE分組,根據(jù)USER_CODE排序的第一條數(shù)據(jù)。

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)