목요일, 12월 17, 2020

[유튜브 방송] (즐겁게 배우는 SQL #17) 데이터를 그룹으로 묶어보자 - Group By

[유튜브 방송] (즐겁게 배우는 SQL) 기획 소개에서 설명드린 즐겁게 배우는 SQL 17편을 공개해드리겠다. 17편은 Group By을 소개한다.

2020년 12월 17일자 [즐겁게 배우는 SQL #17] 데이터를 그룹으로 묶어보자 - Group By 방송은 다음에서 볼 수 있으며, 전체 방송 플레이리스트는 즐겁게 배우는 SQL에서 확인할 수 있다.

하이라이트를 요약 정리하면 다음과 같다:

  • 00:00 데이터를 그룹으로 묶어보자 - Group By 소개
  • 02:51 GROUP BY 예제(COUNT 함수)
  • 07:39 GROUP BY 예제(GROUP BY과 INNER JOIN)
  • 10:32 GROUP BY 예제(Having)
  • 12:29 GROUP BY 예제(SUM 함수)
  • 14:57 GROUP BY 예제(MAX, MIN, AVG 함수)
  • 16:31 GROUP BY 예제(여러 컬럼)

원본 학습자료는 SQLite Group By을 참고하고, 방송에 사용한 실제 실습 자료는 다음을 참고한다:

  • 단계 1: 데이터 질의 방법 소개
    SELECT 
        column_1,
        aggregate_function(column_2) 
    FROM 
        table
    GROUP BY 
        column_1,
        column_2;
    
  • 단계 2: GROUP BY 예제(COUNT 함수)
    1. SQL> SELECT albumid, COUNT(trackid) FROM tracks GROUP BY albumid;
    2. SQL> SELECT albumid, COUNT(trackid) FROM tracks GROUP BY albumid ORDER BY COUNT(trackid) DESC;
  • 단계 3: GROUP BY 예제(GROUP BY과 INNER JOIN)
    1. SQL> SELECT tracks.albumid, title, COUNT(trackid) FROM tracks INNER JOIN albums ON albums.albumid = tracks.albumid GROUP BY tracks.albumid;
  • 단계 4: GROUP BY 예제(Having)
    1. SQL> SELECT tracks.albumid, title, COUNT(trackid) FROM tracks INNER JOIN albums ON albums.albumid = tracks.albumid GROUP BY tracks.albumid HAVING COUNT(trackid) > 15;
  • 단계 5: GROUP BY 예제(SUM 함수)
    1. SQL> SELECT albumid, SUM(milliseconds) length, SUM(bytes) size FROM tracks GROUP BY albumid;
  • 단계 6: GROUP BY 예제(MAX, MIN, AVG 함수)
    1. SQL> SELECT tracks.albumid, title, min(milliseconds), max(milliseconds), round(avg(milliseconds),2) FROM tracks INNER JOIN albums ON albums.albumid = tracks.albumid GROUP BY tracks.albumid;
  • 단계 7: GROUP BY 예제(여러 컬럼)
    1. SQL> SELECT MediaTypeId, GenreId, COUNT(TrackId) FROM tracks GROUP BY MediaTypeId, GenreId;
EOB

댓글 없음:

댓글 쓰기