Built-In Aggregate Part 2
Coddy SQL 여정의 기초 섹션에 포함된 레슨 — 72개 중 35번째.
때때로 우리는 집계 함수를 더 복잡한 방식으로 사용해야 하며, 예를 들어 각 행을 집계 값과 비교하는 경우가 있습니다. 여기서 중첩 쿼리가 유용하게 사용됩니다.
개별 행을 집계 값과 결합하는 계산을 수행하려면 중첩 쿼리를 사용해야 합니다. 이유는 다음과 같습니다:
이것은 작동하지 않습니다:
SELECT value + MIN(value)
FROM table1이유는 집계 함수가 전체 열에 대해 작동하는 반면, 'value' 참조는 행 단위로 작동하려고 하기 때문입니다. 이를 해결하기 위해 중첩 쿼리를 사용합니다:
SELECT value + (SELECT MIN(value) FROM table1)
FROM table1이것은 중첩된 쿼리 (SELECT MIN(value) FROM table1)가 먼저 실행되어 단일 값을 반환하기 때문에 작동합니다. 이 값은 각 행에 대해 메인 쿼리에서 사용할 수 있습니다.
중첩 집계의 일반적인 사용 사례:
1. 각 값을 평균과 비교
2. 총계의 백분율 계산
3. 최대값 또는 최소값으로부터의 차이 찾기
챌린지
쉬움사용 가능한 테이블과 열:
<strong>items</strong>:<strong>id</strong>,<strong>price</strong>
각 항목의 가격이 모든 항목의 평균 가격을 초과하는 정도를 계산하세요. 항목 ID, 가격, 평균과의 차이를 표시하세요. 차이 열의 이름을 diff_from_avg로 지정하세요.
결과를 차이 기준으로 내림차순으로 정렬하세요.
치트 시트
개별 행을 집계 값과 결합할 때, 중첩 쿼리를 사용하세요. 집계 함수는 전체 열에 작동하는 반면, 일반 열은 행 단위로 작동하기 때문입니다.
이것은 작동하지 않습니다:
SELECT value + MIN(value)
FROM table1대신 중첩 쿼리를 사용하세요:
SELECT value + (SELECT MIN(value) FROM table1)
FROM table1중첩 쿼리는 먼저 실행되어 각 행에 대해 메인 쿼리에서 사용할 수 있는 단일 값을 반환합니다.
일반적인 사용 사례:
- 각 값을 평균과 비교
- 총계의 백분율 계산
- 최대 또는 최소 값과의 차이 찾기
직접 해보기
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
기초의 모든 레슨
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 columns