2025/01 3

[MySQL] 프로그래머스 헤비 유저가 소유한 장소

문제:공간을 둘 이상 등록한 사람이 등록한 공간의 정보를 아이디 순으로 조회 해결방법:1. GROUP BY 와 COUNT 로 호스트별 등록 공간 수 카운트2. 등록 공간의 수가 2 이상인 호스트ID를 이용해서 장소 테이블 INNER JOIN 예시 코드:SELECT T1.ID, T1.NAME, T1.HOST_ID FROM PLACES T1INNER JOIN(SELECT HOST_ID, COUNT(HOST_ID)FROM PLACESGROUP BY HOST_IDHAVING COUNT(HOST_ID) >= 2) T2ON T1.HOST_ID = T2.HOST_IDORDER BY T1.ID;

[SQL] 연습 2025.01.29

[MySQL] 프로그래머스 년, 월, 성별 별 상품 구매 회원 수 구하기

문제:USER_INFO 테이블과 ONLINE_SALE 테이블에서 년, 월, 성별 별로 상품을 구매한 회원수를 집계 - 결과는 년, 월, 성별을 기준으로 오름차순 정렬 - 성별 정보가 없는 경우 결과에서 제외 해결방법:1. 유저 테이블과 판매내역 테이블을 INNER JOIN2. SALES_DATE 컬럼에서 YEAR와 MONTH 를 추출3. SELECT 절에서 COUNT DISTINCT 와 GROUP BY 를 사용하여 USER_ID 를 카운트4. WHERE 조건으로 성별이 NULL 값이 아닌 경우만 사용하도록 함 예시 코드:SELECT YEAR(SALES_DATE) YEAR, MONTH(SALES_DATE) MONTH, GENDER, COUNT(DISTINCT USER_ID) USERSFROM(SELECT ..

[SQL] 연습 2025.01.28

[MySQL] 프로그래머스 우유와 요거트가 담긴 장바구니

문제:우유와 요거트를 동시에 구입한 장바구니의 아이디를 조회 해결 방법:1. 장바구니ID 별로 GROUP_CONCAT 을 해서 장바구니 내용을 조회2. 장바구니에 우유와 요거트가 같이 담겨있는지 조건 설정 예시 코드:SELECT CART_IDFROM (SELECT CART_ID, GROUP_CONCAT(NAME) NAMESFROM CART_PRODUCTSGROUP BY CART_ID) T1WHERE NAMES LIKE "%Milk%" AND NAMES LIKE "%Yogurt%"ORDER BY CART_ID;

[SQL] 연습 2025.01.26