티스토리 뷰
MYSQL의 WITH문은 하나 이상의 서브쿼리에서 반환된 데이터를 단일쿼리에서 재사용하게 해 주고 임시 테이블에 저장시켜 주는 문법입니다. 무엇보다 WITH문의 장점은 쿼리를 단순화하고 가독성을 높일 수 있습니다.
1. 물고기 종류별 대어찾기
https://school.programmers.co.kr/learn/courses/30/lessons/293261
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
물고기 종류 별로 길이가 가장 큰 물고기의 ID, 이름, 길이를 출력하는 쿼리문을 작성
주의사항) 출력의 칼럼명은 각각 ID, FISH_NAME, LENGTH / ID에 대해 오름차순 정렬 / 물고기 종류별 가장 큰 물고기는 1마리만 있고, 10CM 이하의 물고기가 가장 큰 경우는 없다
- FISH_INFO 테이블에서 종류별 가장 긴 물고기를 찾는 WITH 문 작성
- ROW_NUMBER로 각 그룹의 순번 매기기 -> 물고기 종류별로 길이가 가장 긴 물고기에게 1 지정
- FISH_NAME_INFO 테이블과 FISH_TYPE을 기준으로 INNER JOIN
WITH temp1 AS (
SELECT ID, FISH_TYPE, LENGTH, ROW_NUMBER() OVER (
PARTITION BY FISH_TYPE ORDER BY LENGTH DESC) AS le
FROM FISH_INFO WHERE LENGTH IS NOT NULL
)
SELECT a.ID, b.FISH_NAME, a.LENGTH FROM temp1 AS a
INNER JOIN FISH_NAME_INFO AS b ON a.FISH_TYPE=b.FISH_TYPE
WHERE a.le=1
ORDER BY a.ID ASC;
2. 즐겨찾기가 가장 많은 식당 정보 출력
https://school.programmers.co.kr/learn/courses/30/lessons/131123
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
음식 종류별로 즐겨찾기 수가 가장 많은 식당의 음식 종류, ID, 식당 이름, 즐겨찾기 수를 조회하는 쿼리문 작성
주의사항) 음식 종류를 기준으로 내림차순 정렬한 결과를 산출
- 테이블에서 즐겨찾기 수(FAVORITES)가 가장 많은 식당 찾기
- 음식종류(FOOD_TYPE)를 PARTITION 기준으로 설정하고 즐겨찾기 수(FAVORITES)가 최대인 식당을 찾기
- WITH 문 내 결과에 부합한 조건을 테이블에서 찾기
WITH temp1 AS (
SELECT FOOD_TYPE, REST_ID, REST_NAME, FAVORITES,
MAX(FAVORITES) OVER (PARTITION BY FOOD_TYPE ORDER BY FAVORITES DESC) AS a
FROM REST_INFO
)
SELECT FOOD_TYPE, REST_ID, REST_NAME, FAVORITES FROM temp1
WHERE FAVORITES=a
ORDER BY FOOD_TYPE DESC;
'MySQL' 카테고리의 다른 글
[4] WITH RECURSIVE (0) | 2025.07.15 |
---|---|
[2] 서브쿼리(Subquery) (0) | 2025.01.08 |
[1] SQL 코딩테스트 문법 정리 (0) | 2025.01.05 |
TAG
- #docker #docker compose
- 프로젝트 #머신러닝 #regression #eda #preprocessing #modeling
- # 프로그래머스 #연속된 부분수열의 합 #이중 포인터 #누적합
- randomforest #bagging #머신러닝 #하이퍼파라미터 튜닝
- #프로그래머스 #안전지대 #시뮬레이션
- #opencv #이미지 읽기 #이미지 제작 #관심영역 지정 #스레시홀딩
- #tf idf
- #opencv #이미지 연산 #합성
- python #프로그래머스 #겹치는선분의길이
- #docker #container #docker command
- # 프로그래머스 # 카펫 # 완전탐색
- 로지스틱 회귀 #오즈비 #최대우도추정법 #머신러닝
- # 할인행사 #counter #딕셔너리 #프로그래머스
- #attention #deeplearning
- #웹 프로그래밍 #서버 #클라이언트 #http #was
- #자연어 처리 #정수 인코딩 #빈도 수 기반
- #docker #image #build #dockerfile
- #with recursive #입양시각 구하기(2) #mysql
- 머신러닝 #lightgbm #goss #ebf
- #seq2seq #encoder #decoder #teacher forcing
- 자연어 처리 #정제 #정규표현식 #어간 추출 #표제어 추출
- pca #주성분분석 #특이값분해 #고유값분해 #공분산행렬 #차원의 저주
- 머신러닝 #project #classification #dacon
- #python #프로그래머스 #외계어사전 #itertools #순열과조합
- #django #mvt 패턴
- #물고기 종류별 대어 찾기 #즐겨찾기가 가장 많은 식당 정보 출력하기 #mysql #programmers
- 잘라서 배열로 저장하기 #2차원으로 만들기
- nlp #토큰화 #nltk #konply
- #polars #대용량 데이터셋 처리
- 머신러닝 #xgboost #
글 보관함
최근에 올라온 글