GROUP BY 질문입니다
296
30 asked
Answer 2
2
그룹을 묶는 기준이 되는 컬럼을 GROUP BY 절에 쓰고, 데이터 수를 세는 연산의 대상이 되는 컬럼을 COUNT() 안에 씁니다.
COUNT(*)은 row(행)의 개수를 의미합니다.
위 테이블에서 데이터를 조회하기 위해 다음과 같은 쿼리를 써 봅시다.
SELECT Email, COUNT(Id), COUNT(*), COUNT(Email)
FROM Person
GROUP BY Email
이 쿼리는 Email 값이 같은 것끼리 그룹을 지은 후, 각 그룹 내에서 Id 개수, row 개수, Email 개수를 세서 Email 값과 함께 출력해 달라는 뜻이므로, 다음과 같은 결과가 나옵니다.
a@b.com | 2 | 2 | 2
c@d.com | 1 | 1 | 1
이것은 중복값을 제외하지 않은 결과로, a@b.com 그룹의 Email 컬럼 값들이 a@b.com으로 동일하지만 데이터 수가 총 2개이므로 COUNT(Email) 값을 2로 출력합니다.
중복값을 제외하고 싶을 때는 DISTINCT를 함께 써 줘야 합니다.
SELECT Email, COUNT(DISTINCT Id), COUNT(*), COUNT(DISTINCT Email)
FROM Person
GROUP BY Email
a@b.com | 2 | 2 | 1
c@d.com | 1 | 1 | 1
섹션 4번에 2번 문제 질문입니다.
0
100
2
4번 문제
0
78
1
Top competitors 에서 having count(h.hacker_id)로 해도 되나요?
0
255
1
leetcode 620 group by 질문이요
0
198
2
강의 일시정지/ 기간연장 검토 요청
0
376
1
4번 문제 group by 질문
0
315
2
세트2 4번 문제풀이 해설에 관한 질문
0
346
2
Weather Observation Station 11_ not like 사용
0
263
1
Placements에서 LEFT JOIN 뒤에 ON 조건
0
279
1
Set2 4번문제 질문 - New Companies
0
312
1
WHERE절 안 쓰고 HAVING COUNT(D.score = S.score) > 1 쓰면 왜 안되나요?
-1
698
1
as 2 space-separated values. 무슨 말인가요???
0
426
1
Weather observation Station 11 관련 질문
1
368
2
4번문제풀이
0
449
1
섹션3. Weather Observation Station 18 문제 관련
0
367
2
섹션 2에 1,2번 문제풀이 관하여
0
427
1
기한연장문의
0
326
1
Weather observation station 11 문제 not like
-1
358
1
inner join 과 left join
1
591
1
4번 BST 문제 틀리는 이유
0
337
1
4번 문제 질문
0
285
1
620. Not Boring Movies 문제 질문드립니다
0
279
1
binary tree 질문 입니다.
0
292
1
Top Competitors 질문있습니다 ㅠㅠ
0
239
1

