TIL - 250204

오정수·2025년 2월 4일

TIL

목록 보기
40/78

리뷰 : ROUND가 무슨 이유에서인지 되지가 않았다. 1.0을 곱해도 에러가 나서 CAST로 DECIMAL 형식으로 바꿨다. DECIMAL에 대해 조금 알게 되었다. DECIMAL(m, d) m은 정수 자리수, d는 소수 자리수를 정하는 것이다.

리뷰2 : MySQL에서는 SUM() 함수 내에 계산이 불가능하다.

URL : https://datalemur.com/questions/alibaba-compressed-mean

SELECT
  CAST(SUM((item_count*order_occurrences))/SUM(order_occurrences) AS DECIMAL(10,1)) mean
FROM items_per_order

URL : https://datalemur.com/questions/top-profitable-drugs

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

URL : https://datalemur.com/questions/non-profitable-drugs

SELECT
  manufacturer
  ,COUNT(DISTINCT drug)
  ,SUM(cogs)-SUM(total_sales)
FROM
(
  SELECT *
  FROM pharmacy_sales
  WHERE total_sales - cogs < 0
) a
GROUP BY 1
ORDER BY 3 DESC
SELECT
  manufacturer,
  COUNT(DISTINCT drug) AS unique_drug_count,
  SUM(cogs) - SUM(total_sales) AS total_loss
FROM pharmacy_sales
WHERE total_sales < cogs  -- 손실이 발생한 경우만 필터링
GROUP BY manufacturer
ORDER BY total_loss DESC;
profile
안녕하세요 오정수입니다

0개의 댓글