문제 - https://solvesql.com/problems/best-working-day/
정답
select day, ROUND(SUM(tip), 3) as tip_daily
from tips
group by day
order by tip_daily desc
limit 1;
SELECT 로 day 와 tip_daily 만 출력하게 한 후
tips 에서 찾는다
day 에서 그룹화를 하여
tip_daily 위주로 정렬하는 대신
순서를 반대로 정렬하여 높은 순부터 나오도록 한다
가장 많은 하루만 찾는 것이니
딱 한 개만 표시하기 위해 limit 를 1 로 걸어준다
다른 사람들의 풀이를 보면
ROUND 를 빼먹거나
HAVING 까지 쓰는 경우가 있는데
최대한 코드를 줄이는 것이 최적화하는데 좋다
솔직히 주어진 답에서 ROUND 를 안써도 상관없다
그러나 그날의 팁 총액을 소수점 셋째 자리에서 반올림하여 출력하라는 조건이 있으니
반드시 써줘야 한다
그러므로 정답은 위와 같이 작성해야 한다