DataBase/SQL 문제풀이10 [프로그래머스] SELECT / 오프라인/온라인 판매 데이터 통합하기 풀이 본 문제의 주요 요구사항은 두 테이블(online_sale, offline_sale)을 하나의 테이블로 병합하여 출력하는 것이다. 이를 위해 'UNION ALL' 함수가 필요한데, 이를 사용하기 위해서는 두 테이블의 컬럼이 서로 같아야 한다. 하지만 user_id 컬럼이 online_sale에만 존재하기 때문에 offline_table에도 user_id 컬럼을 만들어 주되 그 안의 값은 NULL로 처리한다. 코드 SELECT DATE_FORMAT(sales_date, '%Y-%m-%d') SALES_DATE, product_id, user_id, sales_amount FROM online_sale WHERE sales_date LIKE '2022-03-%' UNION ALL SELECT DATE_.. 2022. 12. 13. [프로그래머스] SELECT / 재구매가 일어난 상품과 회원 리스트 구하기 풀이 이 문제에서 주의해야할 부분은 '재구매'이다. 재구매란 같은 고객이 같은 물품을 중복 구매하는 것을 말한다. * 같은 고객이더라도 다른 물품을 구매했다면 재구매에 해당하지 않는다 따라서, 일단 GROUP BY의 대상은 user_id와 product_id가 된다. 이때 GROUP BY의 조건절에 해당하는 HAVING 함수가 중요한 역할을 한다. 구매내역의 id에 해당하는 online_sale_id를 기준으로 갯수를 파악했을 때 1보다 큰 경우(즉, 2 이상의 수)만 선택되도록 하여 재구매에 해당하는 내역만을 선별한다. 코드 SELECT user_id, product_id FROM online_sale GROUP BY user_id, product_id HAVING COUNT(online_sale_id.. 2022. 12. 6. [프로그래머스] GROUP BY / 가격대 별 상품 개수 구하기 풀이 SELECT TRUNCATE(price, -4) as PRICE_GROUP, COUNT(*) as PRODUCTS FROM product GROUP BY PRICE_GROUP ORDER BY PRICE_GROUP TRUNCATE는 버림 함수 출처 https://school.programmers.co.kr/learn/courses/30/lessons/131530 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2022. 11. 30. [프로그래머스] GROUP BY / 가격대 별 상품 개수 구하기 풀이 SELECT TRUNCATE(price, -4) as PRICE_GROUP, COUNT(*) as PRODUCTS FROM product GROUP BY PRICE_GROUP ORDER BY PRICE_GROUP TRUNCATE는 버림 함수 출처 https://school.programmers.co.kr/learn/courses/30/lessons/131530 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2022. 11. 4. 이전 1 2 3 다음