2022년 1월의 카테고리 별 도서 판매량을 합산하고, 카테고리(CATEGORY), 총 판매량(TOTAL_SALES) 리스트를 출력하는 SQL문을 작성해주세요. 결과는 카테고리명을 기준으로 오름차순 정렬해주세요.
1. BOOK 테이블과 BOOK_SALES 테이블 JOIN 하기
2. 2022년 1월인 SALES_DATE만 뽑는 조건문
3. CATEGORY별 도서 판매량 합산하고
4. 이를 TOTAL_SALES 컬럼명으로 오름차순 정렬하기
-- 코드를 입력하세요
SELECT CATEGORY, SUM(SALES) as TOTAL_SALES
FROM BOOK join BOOK_SALES using(BOOK_ID)
WHERE SALES_DATE like "2022-01%"
GROUP BY CATEGORY
ORDER BY CATEGORY
동물 보호소에 들어온 동물 이름 중 두 번 이상 쓰인 이름과 해당 이름이 쓰인 횟수를 조회하는 SQL문을 작성해주세요. 이때 결과는 이름이 없는 동물은 집계에서 제외하며, 결과는 이름 순으로 조회해주세요.
1. 이름을 세야하니깐 COUNT(NAME)으로 AS 'COUNT'
2. NAME이 NULL이 아니어야함
3. GROUP BY로 NAME을 할것
4. GROUP BY 하였으니 조건문으로 HAVING을 사용하여 두번 이상 쓰인 이름을 카운트할 것
5. NAME 순으로 정렬할 것
-- 코드를 입력하세요
SELECT NAME, COUNT(NAME) AS 'COUNT'
FROM ANIMAL_INS
WHERE NAME is not null
GROUP BY NAME
HAVING COUNT(*) >= 2
ORDER BY NAME;
JOIN
문제
USER_INFO테이블과ONLINE_SALE테이블에서 년, 월, 성별 별로 상품을 구매한 회원수를 집계하는 SQL문을 작성해주세요. 결과는 년, 월, 성별을 기준으로 오름차순 정렬해주세요. 이때, 성별 정보가 없는 경우 결과에서 제외해주세요.
-- 코드를 입력하세요
SELECT
YEAR(S.SALES_DATE) AS YEAR, -- ONLINE_SALE의 YEAR가 필요함
MONTH(S.SALES_DATE) AS MONTH, -- ONLINE_SALE의 MONTH가 필요함
I.GENDER, -- USER_INFO의 GENDER가 필요함
COUNT(DISTINCT S.USER_ID) AS USERS -- USER_ID가 중복되지 않게 COUNT를 해서 USERS로 컬럼 만듬
FROM USER_INFO I
JOIN ONLINE_SALE S
ON I.USER_ID = S.USER_ID -- 이거 기준으로 통합
WHERE I.GENDER IS NOT NULL -- 성별 정보가 없는 경우는 결과에서 제외해달라고 함
GROUP BY YEAR, MONTH, I.GENDER -- 년, 월, 성별 별로 상품을 구매한 회원수를 집계
ORDER BY YEAR, MONTH, I.GENDER; -- 결과는 년, 월, 성별을 기준으로 오름차순 정렬