250x250
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
- 내일배움캠프
- 데이터시각화
- 내일배움일지
- 태블로
- 한줄for문
- Join
- 시각화
- 다중공선성
- 리스트
- 선형회귀
- SQL
- f-string
- SQLD
- Max
- Til
- 데이터전처리
- ★
- Set
- 가설검정
- AB테스트
- 아티클스터디
- 통계학
- Leetcode
- python
- 내배캠_학습기록
- 이중for문
- map
- 반복문
- DATE_SUB
- 프로그래머스
Archives
- Today
- Total
노력에는 지름길이 없으니까요
프로그래머스 - 과일로 만든 아이스크림 고르기 본문
728x90
해결일 | 언어 | 레벨 | 테스트명 |
20240627 | SQL | level 1 | 과일로 만든 아이스크림 고르기 |
링크 : https://school.programmers.co.kr/learn/courses/30/lessons/133025
내 코드
SELECT USER_ID
,PRODUCT_ID
FROM ONLINE_SALE
GROUP BY USER_ID, PRODUCT_ID
HAVING COUNT(PRODUCT_ID)>1
ORDER BY 1, 2 DESC
순간적으로 GROUP BY가 너무 헷갈려서 튜터님께 질문함
USER_ID, PRODUCT_ID로 묶었을 때랑 USER_ID로만 묶었을 때의 차이...
USER_ID만 있을 때 해당 HAVING 절은 유저별 개수가 1개 이상이면 무조건 출력
USER_ID, PRODUCT_ID로 묶으면 같은 상품에 대해 1개 이상이면 출력
개선점: 들여쓰기가 이상하다, 현업에서는 쓰지 않는다는 지적을 받았다 ㅋㅋㅋㅋㅋㅋ 나름 질문하기에 있는 방법을 차용하고 있었는데 현업에서 쓰지 않는 방식이라니 당장 버려야겠다.......
그리고 윈도우 함수 공부를 열심히 해달라는 조언도 주셨기 때문에... 오늘은 윈도우 함수쪽 복습을 다시 하는 걸로.
베스트 코드
SELECT
USER_ID,
PRODUCT_ID
FROM ONLINE_SALE
GROUP BY USER_ID, PRODUCT_ID
HAVING COUNT(PRODUCT_ID)>1
ORDER BY 1, 2 DESC
#집계
#PARTITION BY -> 행마다 집계가 가능하게 됨
#윈도우 함수 예제 찾아보기!!
#윈도우 함수 -> 행마다 << 중요!
#GROUP BY는 행마다 집계 x
728x90
반응형
'SQL > 프로그래머스' 카테고리의 다른 글
프로그래머스 - 조회수가 가장 많은 중고거래 게시판의 첨부파일 조회하기 (0) | 2024.06.28 |
---|---|
프로그래머스 - 우유와 요거트가 담긴 장바구니 (0) | 2024.06.28 |
프로그래머스 - 주문량이 많은 아이스크림들 조회하기 (0) | 2024.06.27 |
프로그래머스 SQL - 조건에 맞는 회원수 구하기 (0) | 2024.06.26 |
프로그래머스 SQL - 없어진 기록 찾기 (0) | 2024.06.26 |