ID |
100 |
100 |
200 |
200 |
200 |
999 |
999 |
SELECT ID
FROM TBL
GROUP BY ID
HAVING COUNT(*) = 2
ORDER BY (CASE WHEN ID = 999 THEN 0 ELSE ID END)
🔎 코드 분석
1️⃣ GROUP BY ID: ID 값을 기준으로 그룹화
2️⃣ HAVING COUNT(*) = 2: 그룹 내 개수가 2인 ID만 선택
ID 값 | 개수 |
100 | 2 ✔️ |
200 | 3 ❌ (제외) |
999 | 2 ✔️ |
🟰 ID 100과 999만 선택
3️⃣ ORDER BY (CASE WHEN ID = 999 THEN 0 ELSE ID END):
- ID = 999 이면 정렬 우선순위를 0으로 설정 🟰 가장 먼저 정렬됨
🧐 이게 무슨 소리나면:
- ID = 999 ➡️ 정렬 값이 0 ➡️ 제일 위로 정렬됨
💡 정렬 값이 0이다 🟰 0순위이다!
- ID = 100 ➡️ 정렬 값이 100 ➡️ 그 다음에 정렬됨
✏️ 정답: 2번
ID |
999 |
100 |
'📒 SQLD: 노랭이' 카테고리의 다른 글
[SQLD / 노랭이] p. 62: 49번 (0) | 2025.03.03 |
---|---|
[SQLD / 노랭이] p.42: 19번 (0) | 2025.03.02 |
[SQLD / 노랭이] p.63: 50번 (1) | 2025.03.01 |
[SQLD / 노랭이] p.50: 30번 (0) | 2025.02.28 |
[SQLD / 노랭이] p.121: 111번 (0) | 2025.02.28 |