group by로 값 출력할 때
844
작성한 질문수 3
안녕하세요, group by 관련해서 2개의 질문드립니다!
1.

group by를 사용하지 않고 전체 값을 출력했을 때는 다음과 같이 SupplierID가 1인 케이스가 3건이고 각각의 ProductName도 노출이 되는데요.

group by SupplierID를 이용해서 그룹으로 묶으면 원래 SupplierID가 1이었던 케이스들은 1개만 남고 사라지더라구요. group by를 활용하게 되면 묶이는 케이스의 각 값들은 볼 수 없는 걸까요?
COUNT하거나 할 때는 상관 없을 것 같은데 원래 이렇게 하나의 값만 남아지는지 궁금합니다!
2.
order by에 두 개의 값을 넣어 정렬시키면 1번 값을 기준으로 정렬하되 1번 값으로 정렬이 안되면 2번 값을 기준으로 정렬로 이해했습니다.
group by SupplierID, CategoryID처럼 group by에 여러 값을 활용해서 묶을 때는 SupplierID와 CategoryID이 같은 경우로만 묶이는 건지 궁금합니다!
답변 1
0
1. GROUP BY는 주로 집계 함수(COUNT, SUM, MIN, MAX, AVG, ...)와 함께 사용합니다.
그룹별로 데이터를 나누고 각 그룹 내에서 집계를 한 값을 구하는 것이죠.
그런데 GROUP BY를 하고 집계 함수는 쓰지 않으면 지금 확인하신 것처럼 각 그룹의 첫 번째 row만을 출력하게 됩니다.
2. GROUP BY 절에 쓴 모든 컬럼이 그룹을 나누는 기준으로 사용됩니다.
만약 GROUP BY SupplierID를 하고 SUM(Price)를 구한다면 SupplierID = 1인 모든 row의 price의 합계 값이 나옵니다.
GROUP BY SupplierID, ProductID 를 했을 경우에는 SupplierID = 1로 동일하더라도,
SupplierID =1 & ProductID = 1 인 row들과, SupplierID =1 & ProductID = 2 인 row들을 나눠서 각각 집계합니다.
리트코드 1280. Students and Examinations
0
94
3
16강 LEFT JOIN 리트코드 (183. Customers Who Never Order) 관련 질문
0
103
2
African Cities 문제관련 질문
0
65
1
SQL 코딩테스트 질문
0
242
1
HACKER RANK에서 문제찾기
0
109
2
강의 자료 다운로드
0
101
2
Asian population 문제가 없어요
0
88
2
INNER JOIN 에서 A.키 쓸때 빨간 색 나오고 'dause'
0
77
2
별칭 관련해서 질문 있습니다.
0
88
2
rising temperature 문제 질문
0
109
2
해커랭크 TOP EARNERS 문제 질문
0
110
1
ON 뒤에 질문
0
106
2
INNER JOIN 질문. 강의와 결과값이 다릅니다.
0
211
3
END, 뒤에 * 붙이면 에러가 뜹니다
1
213
2
CustomerID가 중복되서 나타나요
0
242
3
별칭이 전체 테이블을 못 불러와요.
0
152
2
CASE WHEN 쿼리 오류 문의
1
342
3
CASE문제풀이 질문
0
133
1
Customers Who Never Order 풀다가 Alias관련 질문사항
0
141
1
Average Population 질문
0
143
1
Revising Aggregations - The Count Function 질문
0
110
1
Average Population of Each Continent 에대해서 질문
0
200
3
w3schools 에서 쿼리 작성 질문
0
167
1
INNER JOIN 할 때 NULL 값이 안보일 수도 있나요?
0
332
1





