본문 바로가기
Leetcode

1581. Customer Who Visited but Did Not Make Any Transactions

by Doromi 2024. 5. 6.
728x90
반응형
방문한 고객 중에서 거래를 하지 않은 고객을 찾는 문제입니다.

SELECT v.CUSTOMER_ID, COUNT(*) as count_no_trans
FROM VISITS v
LEFT JOIN TRANSACTIONS t ON v.VISIT_ID = t.VISIT_ID
WHERE t.VISIT_ID IS NULL
GROUP BY v.CUSTOMER_ID;
COUNT(*)는 SQL에서 사용하는 집계 함수입니다. 이 함수는 특정 쿼리 결과의 행 수를 반환합니다. *는 모든 행을 의미하므로, COUNT(*)는 결과 집합의 모든 행을 세는 것을 의미합니다.

예를 들어, SELECT COUNT(*) FROM VISITS; 쿼리는 VISITS 테이블에 있는 모든 행의 수를 반환합니다.

따라서, 위의 쿼리에서 COUNT(*) as count_no_trans는 TRANSACTIONS 테이블에서 일치하는 VISIT_ID가 없는 VISITS 테이블의 행 수, 즉 거래가 이루어지지 않은 방문의 수를 계산합니다. 이 값은 count_no_trans라는 이름의 열로 결과에 표시됩니다. 이렇게 하면 각 고객이 얼마나 많은 방문에서 거래를 하지 않았는지 알 수 있습니다.

LEFT JOIN을 사용하여 VISITS 테이블의 모든 레코드를 포함하고, 
TRANSACTIONS 테이블에 해당 VISIT_ID가 없는 레코드를 찾아야 합니다.

 

728x90
반응형

'Leetcode' 카테고리의 다른 글

2665. Counter II  (0) 2024.05.10
2704. To Be Or Not To Be  (0) 2024.05.07
67. Add Binary  (0) 2024.05.03
28. Find the Index of the First Occurrence in a String  (0) 2024.05.02
237. Delete Node in a Linked List  (0) 2024.05.01