inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[백문이불여일타] 데이터 분석을 위한 중급 SQL

LIMIT 함수 여러번 사용 할 순 없을까요?

해결된 질문

298

03091370

작성한 질문수 1

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를 붙일수 없는걸까요?

아니면 제 쿼리 작성이 잘못되서 일까요?

 

sql

답변 1

1

지식공유자 J

WITH 문에는 문제가 없습니다.
WITH 문에서 만든 테이블마다 각각 LIMIT을 사용할 수 있습니다. 
그런데 WITH 문 바깥에서 SELECT country, customerid FROM Customers를 작성해 원 테이블인 Customers에 있는 데이터를 조회하셨네요. 

SELECT *    
FROM total
UNION ALL
SELECT *    
FROM g       

이렇게 작성하시면 각 임시 테이블로 뽑아놓은 데이터들을 조회할 수 있습니다.

리트코드 1280. Students and Examinations

0

94

3

16강 LEFT JOIN 리트코드 (183. Customers Who Never Order) 관련 질문

0

103

2

African Cities 문제관련 질문

0

65

1

SQL 코딩테스트 질문

0

242

1

HACKER RANK에서 문제찾기

0

109

2

강의 자료 다운로드

0

101

2

Asian population 문제가 없어요

0

88

2

INNER JOIN 에서 A.키 쓸때 빨간 색 나오고 'dause'

0

77

2

별칭 관련해서 질문 있습니다.

0

88

2

rising temperature 문제 질문

0

109

2

해커랭크 TOP EARNERS 문제 질문

0

110

1

ON 뒤에 질문

0

106

2

INNER JOIN 질문. 강의와 결과값이 다릅니다.

0

211

3

END, 뒤에 * 붙이면 에러가 뜹니다

1

213

2

CustomerID가 중복되서 나타나요

0

242

3

별칭이 전체 테이블을 못 불러와요.

0

152

2

CASE WHEN 쿼리 오류 문의

1

342

3

CASE문제풀이 질문

0

133

1

Customers Who Never Order 풀다가 Alias관련 질문사항

0

141

1

Average Population 질문

0

143

1

Revising Aggregations - The Count Function 질문

0

110

1

Average Population of Each Continent 에대해서 질문

0

200

3

w3schools 에서 쿼리 작성 질문

0

167

1

INNER JOIN 할 때 NULL 값이 안보일 수도 있나요?

0

332

1