🙇‍♀️집계함수와 연습문제

  • COUNT
  • SUM
  • AVG
  • MIN
  • MAX

🪐함수의 이용

COUNT

SELECT COUNT(*)
FROM dbo.players;
  • ‘*‘붙일 수 있는 애는 COUNT가 유일
SELECT COUNT(birthYear)
FROM players;
  • 집계함수는 집합이 null이면 무시

DISTINCT

SELECT DISTINCT birthCity
FROM players;
SELECT DISTINCT birthYear, birthMonth, birthDay
FROM players
ORDER BY birthYear;
  • 집계함수(DISTINCT 집합)
    SELECT COUNT(DISTINCT birthCity)
    FROM players;
    

AVG

  • 선수들의 평균 weight 구해보자 (pound?)
    SELECT AVG(weight)
    FROM players;
    
    SELECT SUM(weight) / COUNT(weight)
    FROM players;
    
  • 선수들의 평균 weight 구해보자 (pound?)
  • 단, weight = NULL인 경우라면 weight = 0로 친다
    SELECT AVG(CASE WHEN weight IS NULL THEN 0 ELSE weight END)
    FROM players;
    

MIN, MAX

  • MIN MAX
    SELECT MIN(weight), MAX(weight)
    FROM players;
    

🪐연습문제

야구 데이터베이스 키워드 정보

  • playerID (선수ID)
  • yearID (시즌 년도)
  • teamID (팀 명칭, ‘BOS’ = 보스턴)
  • G_batting (출전 경기 + 타석)
  • AB (타수)
  • H (안타)
  • R (출루)
  • 2R (2루타)
  • 3R (3루타)
  • HR (홈런)
  • BB (볼넷)

  • 보스턴 소속 선수들의 정보만 모두 출력
    SELECT *
    FROM batting
    WHERE teamID = 'BOS'
    
  • 보스턴 소속 선수들의 수는 몇명? (단, 중복은 제거)
    SELECT COUNT(DISTINCT playerID)
    FROM batting
    WHERE teamID = 'BOS'
    
  • 보스턴 팀이 2004년도에 친 홈런 개수
    SELECT SUM(HR)
    FROM batting
    WHERE teamID = 'BOS' AND yearID = 2004
    
  • 보스턴 팀 소속으로 단일 년도 최다 홈런을 친 사람의 정보
    SELECT TOP 1 *
    FROM batting
    WHERE teamID = 'BOS'
    ORDER BY HR DESC
    
  • 위 사람의 정보
    SELECT *
    FROM players
    WHERE playerID = 'ortizda01'
    

태그:

카테고리:

업데이트: