[코테] 프로그래머스 SQL 고득점 Kit - SUM, MAX, MIN 8번

ʕ•ﻌ•ʔ·2024년 4월 10일
0

코딩테스트 (SQL)

목록 보기
25/31

❇️ SUM,MAX,MIN

  • 💡 합계
    • select max(열) from 테이블;
      - 열의 최댓값 출력

  • 💡 중복
    • select distinct 열 from 테이블;
      - 열의 중복 제거

  • 💡 그룹 new!
    • select 열1, 열2 from 테이블 join ... group by 열1, 열2;
      • 그룹화할 때 (group by) select에 기재된 열을 모두 다 써야함
      • 단, 집계함수 사용 열은 굳이 그룹화에 할 필요X
      • 그룹화(+집계함수) 열 말고 다른 열도 출력하고 싶으면 where로 SELECT 2개 구문 연결
        • select 다른 열, 열1, 열2 from 테이블 join ... where (열1, 열2) in (select ...)

1. SUM, MAX, MIN 8번

물고기 종류 별 대어 찾기

  1. 그룹화로 묶을 열 : N.FISH_NAME, I.LENGTH
  2. 그룹화 이외 출력할 열 : I.ID
  3. 첫번째 SELECT(1+2) 열 모두 기재 & JOIN
  4. WHERE에 N.FISH_NAME, I.LENGTH IN 두번째 SELECT문
  5. 두 번째 SELECT(1)열 기재 & JOIN & GROUP BY
  6. 순서 정렬 : I.ID

SELECT I.ID, N.FISH_NAME, I.LENGTH FROM FISH_INFO AS I
JOIN FISH_NAME_INFO AS N ON I.FISH_TYPE = N.FISH_TYPE
WHERE (N.FISH_NAME, I.LENGTH) IN (
    SELECT N.FISH_NAME, MAX(I.LENGTH) AS LENGTH FROM FISH_INFO AS I
    JOIN FISH_NAME_INFO AS N ON I.FISH_TYPE = N.FISH_TYPE
    GROUP BY N.FISH_NAME)
ORDER BY I.ID ASC;
profile
김햄톨

0개의 댓글

관련 채용 정보