-
카테고리
-
세부 분야
데이터 분석
-
해결 여부
해결됨
LIMIT 함수 여러번 사용 할 순 없을까요?
22.07.07 15:43 작성 조회수 142
0
테이블명: Customers
country customerid
UK 3
UK 2
Mexico 8
UK 7
UK 1
Mexico 3
UK 2
Mexico 6
UK 9
Korea 1
Korea 4
UK 2
Korea 7
UK 9
위와같은 테이블에서 customerid 상관없이 country별로 2개씩만 추출하고 싶은데
WITH total AS( SELECT country, customerid FROM Customers WHERE country IN ("UK") LIMIT 2 ), g AS( SELECT country, customerid FROM Customers WHERE country IN ("Mexico") LIMIT 2) SELECT country, customerid FROM Customers
이렇게 작성을 하니 UK와 Mexico의 모든 데이터가 다 나오더라구요;
반면 LIMIT를 젤 마지막 구절에 붙이니 country 상관없이 그냥 두줄만 나오구 ㅠ
WITH문에서 해당 SELECT마다 LIMIT를 붙일수 없는걸까요?
아니면 제 쿼리 작성이 잘못되서 일까요?
답변을 작성해보세요.
1
지식공유자 J
지식공유자2022.07.11
WITH 문에는 문제가 없습니다.
WITH 문에서 만든 테이블마다 각각 LIMIT을 사용할 수 있습니다.
그런데 WITH 문 바깥에서 SELECT country, customerid FROM Customers를 작성해 원 테이블인 Customers에 있는 데이터를 조회하셨네요.
SELECT *
FROM total
UNION ALL
SELECT *
FROM g
이렇게 작성하시면 각 임시 테이블로 뽑아놓은 데이터들을 조회할 수 있습니다.
답변 1