Tags
- SQL
- DB
- update
- 완전검색
- 쟝고
- 통계학
- 트리
- create
- 백트래킹
- regexp
- Tree
- migrations
- ORM
- 큐
- N:1
- Article & User
- Vue
- 스택
- drf
- distinct
- count
- stack
- 이진트리
- delete
- 그리디
- M:N
- Django
- 뷰
- outer join
- Queue
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Notice
Recent Posts
Link
데이터 분석 기술 블로그
Customer Who Visited but Did Not Make Any Transactions _ Easy. leetcode * 본문
SQL/문제풀이
Customer Who Visited but Did Not Make Any Transactions _ Easy. leetcode *
데이터분석가 이채은 2024. 9. 15. 09:00
Solution
SELECT Visits.customer_id, COUNT(*) AS count_no_trans
FROM Visits
LEFT JOIN Transactions
ON Visits.visit_id = Transactions.visit_id
WHERE Transactions.transaction_id IS NULL
GROUP BY Visits.customer_id;
처음 생각은 이랬다.
먼저 Visits 테이블과 Transaction 테이블을 매핑해서 Visits에서 transaction_id가 null인 값을 COUNT 하자. 그러면 Visits가 메인이고 거기에 Transactions에 있는 데이터가 매핑되어야 하므로 LEFT JOIN을 사용하고 visit_id로 매핑하면 된다고 생각했다.
그리고 맨 처음에는 COUNT(*) 대신 COUNT(Transactions.transaction_id IS NULL)을 사용했는데 COUNT() 함수는 NULL 값을 세지 않는다는 것을 알았다. 그렇기 때문에 WHERE 절을 사용해야 한다.
'SQL > 문제풀이' 카테고리의 다른 글
최고의 근무일을 찾아라 _ Lv1 * (0) | 2024.09.17 |
---|---|
조건에 부합하는 중고거래 댓글 조회하기 _ Lv1. 프로그래머스 * (0) | 2024.09.16 |
Weather Observation Station 3 _ Easy. HackerRank (0) | 2024.09.14 |
우리 플랫폼에 정착한 판매자 1 _ Lv1 * (0) | 2024.09.12 |
Python 개발자 찾기 _ Lv1. 프로그래머스 (0) | 2024.09.11 |