반응형
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
- queue
- bit
- server
- 비트연산
- array
- event
- Props
- Navigation
- treenode
- JSX
- React
- DP
- UE5
- route
- Context
- leetcode
- component
- nodeJS
- BinaryTree
- c++
- MySQL
- map
- Callback
- routes
- node.js
- count
- state
- css
- axios
- priority_queue
Archives
- Today
- Total
우사미 코딩
[MySQL] A에는 있지만 B에는 없는 데이터 + COUNT 본문
반응형
LeetCode - The World's Leading Online Programming Learning Platform
Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview.
leetcode.com
- SQL Schecma
Create table If Not Exists Visits(visit_id int, customer_id int)
Create table If Not Exists Transactions(transaction_id int, visit_id int, amount int)
Truncate table Visits
insert into Visits (visit_id, customer_id) values ('1', '23')
insert into Visits (visit_id, customer_id) values ('2', '9')
insert into Visits (visit_id, customer_id) values ('4', '30')
insert into Visits (visit_id, customer_id) values ('5', '54')
insert into Visits (visit_id, customer_id) values ('6', '96')
insert into Visits (visit_id, customer_id) values ('7', '54')
insert into Visits (visit_id, customer_id) values ('8', '54')
Truncate table Transactions
insert into Transactions (transaction_id, visit_id, amount) values ('2', '5', '310')
insert into Transactions (transaction_id, visit_id, amount) values ('3', '5', '300')
insert into Transactions (transaction_id, visit_id, amount) values ('9', '5', '200')
insert into Transactions (transaction_id, visit_id, amount) values ('12', '1', '910')
insert into Transactions (transaction_id, visit_id, amount) values ('13', '2', '970')
Visits 테이블에는 visit_id가 unique values임
Transactions테이블에는 transaction_id가 unique value임
Visits에는 있지만 Transactions에는 없는 customer의 id와 방문횟수를 SELECT해야한다.
- Solution
SELECT customer_id, COUNT(*) AS count_no_trans
FROM Visits
WHERE visit_id NOT IN (SELECT visit_id FROM Transactions)
GROUP BY customer_id;
- Left Join Solution
SELECT v.customer_id, COUNT(v.visit_id) AS count_no_trans
from Visits v
LEFT JOIN Transactions t
ON v.visit_id = t.visit_id
WHERE t.transaction_id IS NULL
GROUP BY v.customer_id;
반응형
'MySQL' 카테고리의 다른 글
[MySQL] 문자열 일치 조건 SUBSTRING (0) | 2024.01.04 |
---|---|
[MySQL] 중복값 계산 (COUNT, DISTINCT) (0) | 2024.01.03 |
[MySQL] 홀수, 짝수 조건 설정하기 (ft. Mod연산) (0) | 2024.01.03 |
[MySQL] LEFT JOIN (0) | 2023.09.19 |
Comments