Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
Tags
- 프로그래머스
- 윈도우함수
- LEFTJOIN
- funnel
- Retention
- 서브쿼리
- Datarian
- python
- 린분석
- advent of sql
- 퍼널분석
- SQL
- 신입 데이터분석가
- row_number
- leetcode
- 순위함수
- 데이터리안
- SolveSQL
- regexp
- 데이터분석
- 독서
- 누적합
- dense_rank
- 리텐션
- 그로스해킹
- pandas
- rank
- 윈도우 함수
- 취준
- MYSQL
Archives
- Today
- Total
데이터 분석
[Day 2] solvesql | Advent of SQL 2024 | 펭귄 조사하기 본문
펭귄 조사하기
문제 조건
1. 서식지 별 고유한 펭귄 종과 서식지를 출력
2. 서식지 순으로 오름차순, 서식지가 같은 서로 다른 펭귄 종 사이에서는 펭귄 종 이름 순으로 오름차순
3. 펭귄의 종, 펭귄 서식지 출력
Solution
SELECT DISTINCT species
, island
FROM penguins
ORDER BY 2, 1
피드백
'서식지 별'이라는 조건에 집중한 나머지, 아래와 같이 쿼리를 작성했다.
SELECT species
, island
FROM penguins
GROUP BY island
ORDER BY 2, 1
하지만 SQLite에서 'GROUP BY'는 집계 함수가 없는 경우, 그룹 내 첫 번째로 만나는 값만 반환하기 때문에 위 쿼리는 적절하지 않다. 이로 인해 원하는 (species, island) 조합의 중복을 제거하는 결과를 얻을 수 없다.
주어진 문제를 해결하기 위해서는 (species, island)를 기준으로 중복된 행을 제거해야 한다. 즉, species와 island의 조합이 동일한 데이터는 한 번만 출력되도록 쿼리를 작성해야 한다.
✔️0206 0808 복습
'SQL > solvesql' 카테고리의 다른 글
| [Day 6] solvesql | Advent of SQL 2024 | 게임을 10개 이상 발매한 퍼블리셔 찾기 (0) | 2024.12.06 |
|---|---|
| [Day 5] solvesql | Advent of SQL 2024 | '_'가 포함되지 않은 데이터 찾기💡 (3) | 2024.12.05 |
| [Day 4] solvesql | Advent of SQL 2024 | 지자체별 따릉이 정류소 개수 세기 (0) | 2024.12.04 |
| [Day 3] solvesql | Advent of SQL 2024 | 제목이 모음으로 끝나지 않는 영화💡 (3) | 2024.12.03 |
| [Day 1] solvesql | Advent of SQL 2024 | 크리스마스 게임 찾기 (8) | 2024.12.01 |