년도를 조심하면서 잘 출력해야한다. 특정한 달을 목표로 둘경우 MONTH를 사용할 수 있는걸 배웠다
-- 코드를 입력하세요
SELECT MEMBER_ID, MEMBER_NAME, GENDER, DATE_FORMAT(DATE_OF_BIRTH, '%Y-%m-%d') AS DATE_OF_BIRTH
FROM MEMBER_PROFILE
WHERE MONTH(DATE_OF_BIRTH) = 3
AND TLNO IS NOT NULL
AND GENDER = 'W'
ORDER BY MEMBER_ID ASC
판매가 * 판매량의 합계를 출력해야 하고 SUM 함수를 쓰면 꼭 GROUP BY 를 함께 써줘야한다. 추가적으로 정렬 기준이 두가지가 있다. 내림차순 그리고 오름차순. 이때는 두개 다 써주면 된다.
-- 코드를 입력하세요
SELECT P.PRODUCT_CODE, SUM(P.PRICE * O.SALES_AMOUNT) as SALES
FROM PRODUCT as P
LEFT JOIN OFFLINE_SALE as O ON P.PRODUCT_ID = O.PRODUCT_ID
GROUP BY P.PRODUCT_CODE
ORDER BY SALES DESC, PRODUCT_CODE ASC
SQL 은 알면 알수록 너무 신기한거같다;; substr 같은 개념으로 PRODUCT CODE를 PARSING 해야 했는데 LEFT 라는것을 쓰면은 된다한다. 그리고 COUNT 를 GROUP BY 할때 쓰는 컬럼 기준으로 하면 끝.
-- 코드를 입력하세요
SELECT LEFT(PRODUCT_CODE,2) as CATEGORY, COUNT(PRODUCT_ID) as PRODUCTS
FROM PRODUCT
GROUP BY CATEGORY
가격이 MAX 인거를 출력해주면 된다. 그런데 여기서 솔직히 어떻게 할지 잘 몰랐는데 그냥 WHERE 문에서 PRICE 맥스를 찾으면 됐었다.
-- 코드를 입력하세요
SELECT * FROM FOOD_PRODUCT
WHERE PRICE = (SELECT MAX(PRICE) FROM FOOD_PRODUCT)
또 DATE를 가지고 뭔가 하는줄 알았는데 전에 예시와 다르게 이번꺼는 2022년 기록만 뽑으면 되기 때문에 MONTH 함수 없이 그냥 LIKE 함수로 끝냈다.
-- 코드를 입력하세요
SELECT MCDP_CD as '진료과코드', COUNT(MCDP_CD) as '5월예약건수'
FROM APPOINTMENT
WHERE APNT_YMD LIKE "2022-05%"
GROUP BY MCDP_CD
ORDER BY COUNT(MCDP_CD) ASC, MCDP_CD ASC
SUM이랑 GROUP BY 를 적절히 사용하면 되는 문제였다.
-- 코드를 입력하세요
SELECT INGREDIENT_TYPE, SUM(TOTAL_ORDER) as TOTAL_ORDER
FROM FIRST_HALF as F
LEFT JOIN ICECREAM_INFO as I ON F.FLAVOR = I.FLAVOR
GROUP BY INGREDIENT_TYPE