데이터 그룹화

AI로 배우는 중급 SQL 쿼리

Jasmin Ludolf

Senior Data Science Content Developer

데이터 그룹화

$$

  • 특정 그룹에 대한 인사이트

$$

  • 같은 값을 가진 행 결합

$$

  • 요약을 만들어 패턴 파악

여러 언어 책 모음

AI로 배우는 중급 SQL 쿼리

Distinct vs. 그룹

SELECT DISTINCT language
FROM films;
|language|        
|--------|
|Danish  |
|Greek   |
|Dzongkha|
|...     |
  • 고유 값
  • 어떤 언어가 있나요?
SELECT language
FROM films
GROUP BY language;
|language|        
|--------|
|Danish  |
|Greek   |
|Dzongkha|
|...     |
  • 그룹 생성
  • 각 언어별로 영화가 몇 편인가요?
AI로 배우는 중급 SQL 쿼리

그룹화 프롬프트 작성

프롬프트: 언어별로 영화 그룹화

SELECT language, COUNT(*) AS lang_count
FROM films
GROUP BY language;
|language|lang_count|
|--------|----------|
|        |11        |
|Arabic  |5         |
|Kannada |1         |
|Czech   |1         |
...

$$

  • 그룹화는 요약 통계와 함께 자주 사용:
    • 예: 개수, 평균

$$

  • 구체 요청 없으면 -> COUNT()
    • 집계 함수
    • 여러 행을 하나의 값으로 요약
AI로 배우는 중급 SQL 쿼리

그룹화 시 흔한 오류

프롬프트: 언어별로 영화 제목을 모두 보여줘

SELECT title
FROM films
GROUP BY language;
column "films.title" must appear in the
GROUP BY clause or be used in an 
aggregate function LINE 1...

AI 수정:

  • COUNT() 함수 추가
    SELECT language, COUNT(title) AS count
    FROM films
    GROUP BY language;
    
  • 올바른 필드 선택
    SELECT title, language
    FROM films
    GROUP BY title, language;
    
AI로 배우는 중급 SQL 쿼리

그룹화 프롬프트

프롬프트: 국가와 언어별로 영화 수를 집계해줘

SELECT country, language, COUNT(*) AS film_count
FROM films
GROUP BY country, language;
|country           |language|film_count|
|------------------|--------|----------|
|                  |        |1         |
|Pakistan          |Urdu    |1         |
|Mexico            |English |3         |
|Dominican Republic|Spanish |1         |
...
AI로 배우는 중급 SQL 쿼리

그룹화와 정렬

프롬프트: 영화 수로 언어를 순위화하고 상위 3개를 보여줘

SELECT language, COUNT(*) AS film_count
FROM films
GROUP BY language
ORDER BY film_count DESC
LIMIT 3;
|language|film_count|
|--------|----------|
|English |4635      |
|French  |72        |
|Spanish |40        |
AI로 배우는 중급 SQL 쿼리

연습해 봅시다!

AI로 배우는 중급 SQL 쿼리

Preparing Video For Download...