NTILE Function
Coddy SQL 여정의 기초 섹션에 포함된 레슨 — 72개 중 67번째.
NTILE(n)은 행들을 n개의 대략적으로 동일한 조각으로 나누어 번호를 매깁니다. 이는 성능 향상을 위해 자주 사용되는데, 한 번에 대량의 데이터를 보내는 것은 좋은 생각이 아닐 수 있어서 이 함수를 통해 더 작은 조각 단위로 보낼 수 있습니다.
예를 들어:
| id | level |
| 1 | 4 |
| 2 | 4 |
| 3 | 5 |
| 4 | 6 |
| 5 | 7 |
| 6 | 7 |
SELECT id, level, NTILE(3) OVER (ORDER BY level) as pieces
from table1다음이 반환됩니다:
| 아이디 | 레벨 | 조각 |
| 1 | 4 | 1 |
| 2 | 4 | 1 |
| 3 | 5 | 2 |
| 4 | 6 | 2 |
| 5 | 7 | 3 |
| 6 | 7 | 3 |
3개의 그룹을 얻었습니다: 그룹 1에 level 4, 그룹 2에 level 5와 level 6, 그룹 3에 level 7.
행의 수가 n으로 정확히 나누어 떨어지지 않을 때, NTILE은 행을 가능한 한 균등하게 분배하며, 더 큰 그룹이 먼저 나타납니다. 예를 들어, 9개의 행과 NTILE(4)의 경우 분배는 다음과 같습니다:
- 그룹 1: 3행
- 그룹 2: 2행
- 그룹 3: 2행
- 그룹 4: 2행
이것은 어떤 그룹도 다른 그룹과 한 행 이상 차이 나지 않도록 보장하며, 추가 행은 낮은 번호의 그룹에 먼저 분배됩니다.
챌린지
쉬움사용 가능한 테이블 및 열:
<strong>creatures</strong>:<strong>creature_name</strong>,<strong>preference</strong>,<strong>has_legs</strong>('YES' 또는 'NO'를 포함)
이 챌린지에서는 중요한 상대를 찾고자 하는 생물들이 있습니다. 그들이 적합한 짝을 찾도록 도와야 합니다.
각 생물은 숫자로 표현된 선호도를 가지고 있습니다. 두 생물이 충분히 가까운 숫자를 가지면 좋은 짝이 될 수 있습니다.
선호도 값에 따라 생물을 3개의 그룹으로 나누되, 다리 있는 생물만 고려하세요 (has_legs = 'YES'). creature_name, preference, 그리고 그들의 group_number (1, 2, 또는 3)를 반환하세요. 결과를 preference에 따라 오름차순으로 정렬하세요.
치트 시트
NTILE(n) 함수는 행을 n개의 대략적으로 동일한 그룹으로 나누고, 이를 순차적으로 번호 매깁니다:
SELECT column1, column2, NTILE(3) OVER (ORDER BY column2) as group_number
FROM table_name행 수가 n으로 정확히 나누어 떨어지지 않을 때, NTILE은 가능한 한 균등하게 행을 분배하며, 더 큰 그룹이 먼저 나타납니다. 예를 들어, 9개의 행과 NTILE(4)의 경우:
- 그룹 1: 3행
- 그룹 2: 2행
- 그룹 3: 2행
- 그룹 4: 2행
직접 해보기
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
기초의 모든 레슨
4More Keywords
The IN keywordThe BETWEEN keywordThe LIKE keywordThe AS keywordRecap - Cellphone Models2Conditions
Conditions BasicsThe AND keywordThe OR keywordThe NOT keywordMultiple Conditions CombinedParenthesisBooleans5Arithmetic Operations
Mathematical OperatorsMathematical ColumnsThe Modulo OperationThe ROUND() Function3Specific Return Format
Null valuesSort Results Part 1Sort Results Part 2Recap - Cyber Security FirmLimit number of recordsRecap - Vehicle Factory6Intro Challenges
Recap - Parliamentary ElectionRecap - Police Criminal ArrestRecap - Bar Beverage ContainerRecap - Engineer new columns9Multiple tables
Basic Join Part 1Basic Join Part 2Recap - JoinSelf joinRecap - Self JoinUnionSimplify queries, WITH keywordRecap - With QueriesRecap - Real Estate Contractor12Window Functions part 2
RANK & DENSE_RANK FunctionsRecap - RANK & DENSE_RANKNTILE FunctionAggregation FunctionsROWS & RANGE Criterion