[SQL테스트]레스토랑의 대목

김준석·2024년 2월 5일

코딩테스트 - SQL

목록 보기
60/96

문제

https://solvesql.com/problems/high-season-of-restaurant/

코드

SELECT *
FROM
  tips
WHERE 1=1
  AND day IN (SELECT day 
              FROM tips 
              GROUP BY day
              HAVING SUM(total_bill)>=1500)

풀이 후기

이번 문제는 살짝 함정이 있었다.

요일별 매출이 1500달러 이상인 애들만 출력! 이라길래 day 컬럼을 그룹화 해서 아래와 같이 했는데

SELECT *
FROM
  tips
WHERE 1=1
GROUP BY
  day
HAVING 1=1
  AND SUM(total_bill)>=1500

이렇게 하면 요일 전체가 아니라 각 요일의 유니크한 값만 나와서 아니랜다... 날짜 컬럼이라도 줬으면 좋았으련만...

그래서! where 절 서브쿼리에 1500달러 이상인 day만 출력할 수 있도록 작성!

WHERE 1=1
  AND day IN (SELECT day 
              FROM tips 
              GROUP BY day
              HAVING SUM(total_bill)>=1500)

0개의 댓글