250x250
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- levle1
- SQL고득점KIT
- sql50
- 데이터리안실전반
- 셀프조인
- leetcode
- 오블완
- 티스토리챌린지
- 파이썬문풀
- 활성사용자수
- leetcode문풀
- 코테준비
- 약수구하기
- 문풀
- 파이썬
- 프로그래머스
- 그로스해킹
- 데이터리안넥스트레벨챌린지
- SQL테스트
- with절
- 프로그래머스문풀
- SQL
- 위키독스
- 서브쿼리
- mysql
- 데이터리안
- 데벨챌
- 윈도우함수
- sql문풀
- join
Archives
- Today
- Total
꿈은 데이터분석가, 취미는 계획
[MY SQL / 집계함수] 전체 데이터에서 가장 큰 값이 있는 행 찾기 본문
728x90
출처: [프로그래머스 스쿨 - 코딩테스트 연습 - MY SQL 문제] : 가격이 제일 비싼 식품의 정보 출력하기
링크: https://school.programmers.co.kr/learn/courses/30/lessons/131115
문제(일부): 테이블에서 가격이 제일 비싼 식품의 정보 모두 조회하기
1. 서브쿼리 활용하기
WHERE절에서 PRICE = MAX(PRICE)를 사용하면 오류 발생!
WHERE절은 각 행에 대해 개별적으로 조건을 평가, 집계 함수는 여러 행의 데이터를 요약하여 단일 결과를 생성하기 때문
=> WHERE절에서는 바로 집계함수를 적용할 수 x
SELECT *
FROM FOOD_PRODUCT
WHERE PRICE = (SELECT MAX(PRICE) FROM FOOD_PRODUCT)
2. WITH절(임시 테이블) 생성하기
WITH절은 복잡한 쿼리를 작은부분으로 나눠서 해결하는데 도움을 줌
쿼리를 실행하는 동안만 존재하고 끝나면 사라지는 '임시'테이블로 메모장 같은 존재
반면에 유사한 기능을 하는 VIEW는 데이터베이스 안에 저장되어 있는 가상의 테이블
책갈피 처럼 저장해두었다가 필요할 때 다시 볼 수 있음
# WITH절에서 MAX(PRICE)를 구해서 활용
WITH A AS (
SELECT MAX(PRICE) AS MAX_PRICE
FROM FOOD_PRODUCT
)
SELECT PRODUCT_ID
, PRODUCT_NAME
, PRODUCT_CD
, CATEGORY
, PRICE
FROM FOOD_PRODUCT, A
WHERE PRICE = A.MAX_PRICE;
728x90
'SQL > SQL문풀' 카테고리의 다른 글
[MY SQL] 2개 테이블로 조건에 맞는 사람 찾기 (0) | 2024.04.06 |
---|---|
[MY SQL] 2개의 테이블로 종류별 가장 큰 값이 있는 레코드 추출 (0) | 2024.04.05 |
[MY SQL] 특정 스킬을 보유한 사람 찾기 (0) | 2024.04.01 |
[MY SQL] 대소문자 구분 없이 모두 찾는 방법 (0) | 2024.01.03 |
[MY SQL] 프로그래머스 level1~levle5 리뷰 (0) | 2024.01.02 |