ID가 중복일 때 SALES가 최댓값이 레코드의 칼럼들을 조회 하고 싶습니다ㅏ.
다중열 서브쿼리로 조회를 하는데 SALES가 최댓값이 NULL인것은 조회가 안되어서 구루비에 질의를 올립니다.ㅠ
ID와 SALES 모두 중복일 때는 해당 중복값들중에서 아무 레코드나 반환해도 상관없습니다.( ID:2 SALES: NULL 해당)
<리스트>
ID | SALES | SALARY | TAX |
1 | 500 | 300 | 50 |
1 | 30 | 15 | 3 |
1 | 10 | 5 | 1 |
2 | NULL | 100 | 30 |
2 | NULL | 50 | 10 |
3 | NULL | NULL | NULL |
<원하는 조회 리스트>
ID | SALES | SALARY | TAX |
1 | 500 | 300 | 50 |
2 | NULL | 100 | 30 |
3 | NULL | NULL | NULL |
WITH TMP (ID, SALES, SALARY, TAX) AS ( SELECT 1, 500, 300, 50 FROM DUAL UNION ALL SELECT 1, 30, 15, 3 FROM DUAL UNION ALL SELECT 1, 10, 5, 1 FROM DUAL UNION ALL SELECT 2, NULL, 100, 30 FROM DUAL UNION ALL SELECT 2, NULL, 50, 10 FROM DUAL UNION ALL SELECT 3, NULL, NULL, NULL FROM DUAL ) SELECT ID , MAX(SALES) AS SALES , MAX(SALARY) AS SALARY , MAX(TAX) AS TAX FROM TMP GROUP BY ID