簡體   English   中英

Oracle select 相同的 id 存在 2

[英]Oracle select same id where 2 exist

所以這個 Oracle 表的查詢顯示 2 行具有相同的 id

SELECT INDIVIDUAL_ID,DATE1,DATE2
FROM RESIDENCE_PERIOD
WHERE INDIVIDUAL_ID = 401865003800;

都好 -

401865003800    20-05-02    20-05-20
401865003800    20-06-01    20-06-30

但是還有其他 id 也有超過 1 個條目,所以這個查詢:

  SELECT * 
  FROM RESIDENCE_PERIOD rp 
  WHERE  rp.INDIVIDUAL_ID IN
                    (SELECT rp2.INDIVIDUAL_ID
                     FROM RESIDENCE_PERIOD rp2
                    GROUP BY rp2.INDIVIDUAL_ID
                    HAVING COUNT(rp2.INDIVIDUAL_ID) > 1)
    AND ROWNUM <=2
  ORDER BY rp.INDIVIDUAL_ID;

有效,但帶回 2 個不同的 id,它們都有超過 1 個條目

276460366513
401865003800

我不在乎我得到哪個 id。 我只希望兩個 id 相同。

您最好使用這樣的分析 function 來獲取具有多個記錄的所有相同 ID 的整行:

  Select p.* from
     (Select p.*,
             Count(1) over (partition by P.INDIVIDUAL_ID ) as cnt
        From RESIDENCE_PERIOD p) p
       Where cnt>1
 Order by INDIVIDUAL_ID

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM