이 문제는 각 drug의 수익을 계산한 후,
가장 수익이 높은 상위 3개의 drug를 찾는 문제이다.
문제에서 주어진 수익 공식은 다음과 같다.
핵심은 다음과 같다.
SELECT drug,
total_sales - cogs AS total_profit
FROM pharmacy_sales
ORDER BY total_profit DESC
LIMIT 3;
문제에서 각 의약품은 단 한 곳의 제조사만 생산할 수 있다고 명시하고 있다.
또한 전체 수익을 합산하라는 조건도 없었기 때문에
각 row를 기준으로 수익을 계산하기만 하면 되는 문제라고 판단했다.
그래서 별도의 집계 함수를 사용하지 않았다.
상위에서 정리한대로 핵심 3가지를 지켜서 쿼리를 작성하면 되는 문제이다.
LIMIT은 SELECT 문으로 데이터를 조회할 때 반환되는 행의 최대 개수를 제한하는 문법이다.
주로 상위 N개의 데이터를 조회할 때 함께 사용된다.
그래서 LIMIT을 활용하여 상위 3개를 조회하도록 했다.