🙇‍♀️GROUP BY

GROUP BY는 묶어서 분석하고 싶을 떄 사용!

🪐GROUP BY의 예시

GROUP BY의 예시

  • 2004년도에 가장 많은 홈런을 날린 팀은?
    SELECT *
    FROM batting
    WHERE yearID = 2004
    ORDER BY teamID;
    

    2004년에 batting테이블에서 팀별로 나열

  • 팀별로 묶어서 뭔가를 분석하고 싶다 -> Grouping
    SELECT teamID, COUNT(teamID) AS playerCount, SUM(HR) AS homeRuns
    FROM batting
    WHERE yearID = 2004
    GROUP BY teamID
    

    2004년에 batting테이블에서 팀별로 묶고 teamID, COUNT(teamID) AS playerCount, SUM(HR) AS homeRuns을 출력

GROUP BY는 SELECT에 GROUP BY에서 사용한 변수들, 집계함수만 사용가능 하다

  • 2004년도에 가장 많은 홈런을 날린 팀은?
    SELECT TOP 1 teamID,  SUM(HR) AS homeRuns
    FROM batting
    WHERE yearID = 2004
    GROUP BY teamID
    ORDER BY homeRuns DESC
    

    2004년 베팅에 팀별로 묶고 팀아디, 홈런합중 탑을 홈런합의 내림차순으로 출력

  • 2004년도에 200홈런 이상을 날린 팀의 목록?
    SELECT teamID,  SUM(HR) AS homeRuns
    FROM batting
    WHERE yearID = 2004
    GROUP BY teamID
    HAVING SUM(HR) >= 200
    ORDER BY homeRuns DESC
    

    2004년 베팅에 팀별로 묶고 홈런의 합이 200개가 넘는 팀중에 홈런합의 내림차순으로 팀아디, 홈런 합을 출력

  • 단일 년도에 가장 많은 홈런을 날린 팀은?
    SELECT teamID, yearID, SUM(HR) AS homeRuns
    FROM batting
    GROUP BY teamID, yearID
    ORDER BY homeRuns DESC
    

    베팅에서 팀아디, 년아디를 그룹핑하고 홈런합의 내림차순으로 팀아디, 년아디, 홈런합을 출력

– BOS 2004 – BOS 2005

🪐로직 순서 정리

  • FROM 책상에서
  • WHERE 공을
  • GROUP BY 색상별로 분류해서
  • HAVING 분류한 다음에 빨간색은 제외하고
  • SELECT 갖고 와서
  • ORDER BY 크기 별로 나열해주세요

태그:

카테고리:

업데이트: