복습 - 생물
Coddy SQL 여정의 기초 섹션에 포함된 레슨. 72개 중 70번째.
챌린지
중급사용 가능한 테이블 및 열:
creatures:creature_name,preference,has_legs
이 챌린지에서는 짝을 찾고 싶어 하는 생물들이 있습니다. 이들이 짝을 찾을 수 있도록 도와야 합니다.
각 생물은 preference 값을 가지며, 다리가 있거나 다리가 없습니다.
규칙:
- 생물은 동일한
has_legs값을 공유하는 다른 생물과만 짝을 이룹니다. - 각 그룹(
has_legstrue/false) 내에서 생물을 preference 순서로 정렬합니다. NTILE(total_creature_count/2)를 사용하여couple_matcher번호를 할당합니다.- 두 그룹 모두 1부터 번호를 매깁니다(더 작은 그룹은 단순히 더 적은 버킷을 채웁니다).
예시: 전체 생물 10마리(다리가 있는 생물 6마리, 다리가 없는 생물 4마리)
- 다리가 있는 생물: preference 순위에 따라 정렬하고
couple_matcher1~5를 할당합니다. - 다리가 없는 생물: preference 순위에 따라 정렬하고
couple_matcher1~5를 할당합니다. - 결과: 서로 다른 여러 쌍이 동일한
couple_matcher번호를 가질 수 있습니다.
직접 해보기
기초의 모든 레슨
직접 연습해 보세요: SQL 플레이그라운드