[DataLemur] Pharmacy Analytics (Part 1)

다람·2026년 4월 6일

DataLemur

목록 보기
4/8
post-thumbnail

1. 문제 이해

이 문제는 각 drug의 수익을 계산한 후,
가장 수익이 높은 상위 3개의 drug를 찾는 문제이다.

문제에서 주어진 수익 공식은 다음과 같다.

  • Total Profit = Total Sales - Cost of Goods Sold

핵심은 다음과 같다.

  • 각 drug의 수익을 계산한다.
  • 수익을 기준으로 내림차순 정렬한다.
  • 상위 3개를 추출한다.

2. 접근 방법

SELECT drug,
	   total_sales - cogs AS total_profit
FROM pharmacy_sales
ORDER BY total_profit DESC
LIMIT 3;

문제에서 각 의약품은 단 한 곳의 제조사만 생산할 수 있다고 명시하고 있다.
또한 전체 수익을 합산하라는 조건도 없었기 때문에
각 row를 기준으로 수익을 계산하기만 하면 되는 문제라고 판단했다.
그래서 별도의 집계 함수를 사용하지 않았다.

상위에서 정리한대로 핵심 3가지를 지켜서 쿼리를 작성하면 되는 문제이다.

LIMITSELECT 문으로 데이터를 조회할 때 반환되는 행의 최대 개수를 제한하는 문법이다.
주로 상위 N개의 데이터를 조회할 때 함께 사용된다.
그래서 LIMIT을 활용하여 상위 3개를 조회하도록 했다.

profile
개발하는 다람쥐

0개의 댓글