반응형
오라클에서 id의 중복 행마다 하나의 레코드만 얻는 방법은?
내가 이 테이블을 가지고 있다고 가정합니다.
group_id | image | image_id |
-----------------------------
23 blob 1
23 blob 2
23 blob 3
21 blob 4
21 blob 5
25 blob 6
25 blob 7
각 그룹 ID 중 1개만 결과를 얻는 방법은?이 경우 하나의 그룹 id에 대해 여러 이미지가 있을 수 있으며, 나는 단지 각 그룹 id의 결과 하나를 원합니다.
나는 구별을 시도했지만 나는 group_id만 얻을 것입니다. 이미지에 대한 max도 작동하지 않습니다.
Oracle에는 작동하는 표준 Aggregate 함수가 없습니다.BLOB
s, 그래서GROUP BY
해결책이 안 될 겁니다
다음 기준으로 시도해 보십시오.ROW_NUMBER()
query 아래에
SELECT inn.group_id, inn.image, inn.image_id
FROM
(
SELECT t.group_id, t.image, t.image_id,
ROW_NUMBER() OVER (PARTITION BY t.group_id ORDER BY t.image_id) num
FROM theTable t
) inn
WHERE inn.num = 1;
위는 첫번째를 반환해야 합니다(기준).image_id
) 그룹별 행을 지정합니다.
SELECT group_id, image, image_id
FROM a_table
WHERE (group_id, image_id) IN
(
SELECT group_id, MIN(image_id)
FROM a_table
GROUP BY
group_id
)
;
select * from
(select t1.*,
ROW_NUMBER() OVER (PARTITION BY group_id ORDER BY group_id desc) as seqnum
from tablename t1)
where seqnum=1;
언급URL : https://stackoverflow.com/questions/19920243/how-to-get-only-one-record-for-each-duplicate-rows-of-the-id-in-oracle
반응형
'sourcetip' 카테고리의 다른 글
두 AVL 트리 연결/병합/접합 (0) | 2023.11.04 |
---|---|
PHP에서 동적 정적 메서드 호출? (0) | 2023.11.04 |
PowerShell로 이메일 보내는 방법 (0) | 2023.11.04 |
CSS to set A4 paper size (0) | 2023.11.04 |
파워셸: Get-Item vs Get-ChildItem (0) | 2023.11.04 |