(25.03.04)
제목 그대로 Visits Transactions테이블이 있는데 아무 트랜잭션이 없는 고객의 아이디와 수를 리턴해라.
최대한 구현은 했는데 트랜잭션이 없는 고객의 수를 세라는게 약간 이해를 잘 못한 부분이 있는 것 같다.
select v.customer_id, count(t.transaction_id) as count_no_trans from Visits as v, Transactions as t where v.visit_id not in (select visit_id from Transactions);
우선 join을 이용해 정리를 해보았다.
원하는 목록은 뽑았는데 단순 count를 사용하니 전부 합쳐져버린다.. count할 조건을 설정할 수 있나?
서칭 결과 group by를 이용할 수 있었다.
select v.customer_id, count(v.customer_id) as count_no_trans from Visits as v left join Transactions as t on v.visit_id=t.visit_id where t.visit_id is null group by v.customer_id;
group by 참고 https://keep-cool.tistory.com/37