사용자 ID, 도시, 예약 날짜가 포함된 테이블이 있습니다. 일정 기간 동안 여러 도시가 아닌 한 도시만 방문한 사용자를 찾아야 합니다.
SELECT 사용자_ID, 도시, 결과적으로 COUNT(*) FROM 방문수 WHERE start_ts >= 1675209600 -- 1675209600 = 01.02.2023 00:00 AND end_ts <= 1676419200 -- 1676419200 = 2023년 2월 15일 00:00 GROUP BY 사용자 ID, 도시<테이블 클래스="s-테이블"> <머리>
사용자 ID 10과 12는 한 도시만 방문했습니다. 예를 들어 사용자 ID 11은 바르셀로나를 두 번 방문했습니다.
NOT EXISTING과 INNER JOIN을 사용해 보았습니다. 한 도시만 방문한 사용자를 어떻게 확보할 수 있나요?
쿼리에 HAVING 조건을 추가하세요:
으아아아고유한 도시의 수만 계산해야 하는 경우 COUNT(DISTINCT(city))를 사용하고 다음과 같이 그룹화에서 해당 도시를 제거할 수 있습니다.
으아아아