「SQL초급떼기
[프로그래머스sql고득점kit-level4]코딩테스트 연습JOIN5월 식품들의 총매출 조회하기
DayGo
2023. 8. 13. 15:12
https://school.programmers.co.kr/learn/courses/30/lessons/131117
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
역시 오랜만에 푸니 date_format 구분 까먹었다!!
다시 복습!!!!
문제
FOOD_PRODUCT와 FOOD_ORDER 테이블에서 생산일자가 2022년 5월인 식품들의 식품 ID, 식품 이름, 총매출을 조회하는 SQL문을 작성해주세요. 이때 결과는 총매출을 기준으로 내림차순 정렬해주시고 총매출이 같다면 식품 ID를 기준으로 오름차순 정렬해주세요.
그래도 맞췄다!!ㅋㅋ
-- 코드를 입력하세요
-- food_product
-- food_order
-- join key product_id
-- where 조건 : produce_Data 가 202205 인 식품에 한정, date_foramt(date, '%Y%m')
SELECT c1.product_id, c1.product_name, sum(c1.price*c2.amount) as 총매출
from food_product as c1 inner join food_order as c2 on c1.product_id=c2.product_id
where date_format(c2.produce_date, '%Y%m')='202205'
group by c1.product_id, c1. product_name
order by 총매출 DESC, C1.product_id
이러한형식도 기억하자!!
SELECT
DATE_FORMAT(sales_date, '%Y') AS 년,
DATE_FORMAT(sales_date, '%m') AS 월,
COUNT(DISTINCT c1.user_id) AS 이용회원수,
ROUND(
COUNT(DISTINCT c1.user_id) /
(SELECT COUNT(c2.user_id) FROM user_info WHERE DATE_FORMAT(c2.joined, '%Y')='2021'),
1
) AS ratio
FROM
ONLINE_SALE AS c1
INNER JOIN
USER_INFO AS c2 ON c1.user_id = c2.user_id
WHERE
DATE_FORMAT(c2.joined, '%Y') = '2021'
GROUP BY
DATE_FORMAT(sales_date, '%Y'), DATE_FORMAT(sales_date, '%m')
ORDER BY
DATE_FORMAT(sales_date, '%Y'), DATE_FORMAT(sales_date, '%m');