[英]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.