Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- MySQL
- 직장인자기계발
- 패스트캠퍼스
- meidum
- 파이썬을활용한시계열데이터분석
- Hackerrank
- 패캠챌린지
- SQL
- 프로그래머스
- 직장인인강
- easy
- 해커랭크
- 패스트캠퍼스후기
- solvesql
- recursive
- SELF-JOIN
- HACKER_RANK
- 어려웠음
- medium
- 다시풀어보기
- group by
- RANK
- join
- 파이썬을활용한시계열데이터분석AtoZ올인원패키지Online
- row_number
- lv.4
- LeetCode
- Hard
- 시계열데이터분석
- 프리미엄
Archives
- Today
- Total
~고군분투 인생살이~
[My_SQL,Lv.4] 우유와 요거트가 담긴 장바구니 본문
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
1. 문제 조건
데이터 분석 팀에서는 우유(Milk)와 요거트(Yogurt)를 동시에 구입한 장바구니가 있는지 알아보려 합니다.
우유와 요거트를 동시에 구입한 장바구니의 아이디를 조회하는 SQL 문을 작성해주세요. 이때 결과는 장바구니의 아이디 순으로 나와야 합니다.
2. 문제 풀이
더보기
문제를 보면 결국 우리가 주목해야 할 데이터는 우유와 요거트의 구매 여부이다.그래서 temp 테이블을 생성해서 name에 'milk' or 'yogurt'값을 가진 cart_id와 name만을 출력한다
이렇게 정리된 temp 테이블을 활용해서 cart_id로 그루핑을 해주고, 위에서 where절을 활용해서 milk,yogurt값만 name에 있게 만들었으니 count(*)를 했을 때 2개 이상의 값을 가지게 된다면 해당 cart_id는 milk,yogurt를 동시에 구매한게 되는 것
with temp as (
select distinct cart_id,
name
from cart_products
where name in ('Milk','Yogurt'))
select cart_id
from temp
group by cart_id
having count(*) >= 2
order by cart_id asc
'SQL > 프로그래머스' 카테고리의 다른 글
[My_SQL, Lv.4] 식품분류별 가장 비싼 식품의 정보 조회하기 (0) | 2022.10.09 |
---|---|
[MySQL_Lv.4] 입양 시각 구하기(2) (0) | 2022.10.09 |
[MySQL_Lv4]보호소에서 중성화한 동물 (0) | 2022.10.05 |
[STRING,DATE] DATETIME에서 DATE로 형 변환 (0) | 2022.05.22 |
[STRING,DATE] 오랜 기간 보호한 동물(2) (0) | 2022.05.22 |
Comments