반응형

table에서 특정 행만 출력하기.

예를 들어 아래 테이블에서 2번째 행만 가져오기.

[MEMBER] 테이블

ID NAME
HONG 길동
PI 카츄
DUL

요약) 순번 열을 만들어 준 후 SELECT 하면 됨.

 

1. ROW_NUMBER()로 순번 열을 만들어 주기

SELECT ROW_NUMBER() OVER(order by ID asc) as 'NO', ID, NAME 
FROM MEMBER;

쿼리 결과

NO ID NAME
1 DUL
2 HONG 길동
3 PI 카츄

 

 

2. 순번 열을 만들어준 테이블을 임시테이블로 생성하거나 테이블 변수에 넣어서 거기서 select 하면 댐.

A) 임시테이블로 생성한 후에 SELECT하기 

WITH TEMP AS 
(
  SELECT ROW_NUMBER() OVER(order by ID asc) as 'NO', ID, NAME 
  FROM MEMBER
) --임시테이블 생성

SELECT * FROM TEMP WHERE NO=2; --2번째 열 SELECT

 

B) 테이블 변수에 넣어서 SELECT하기

DECLARE @TEMP TABLE( --테이블 변수 생성
	NO INT,
	ID VARCHAR(10),
	NAME VARCHAR(10)
)

--테이블 변수에 SELECT결과 넣기
INSERT INTO @TEMP 
SELECT ROW_NUMBER() OVER(order by ID asc) as 'NO', ID, NAME FROM MEMBER


SELECT * FROM @TEMP WHERE NO=2; --2번째 열 SELECT

 

머가 편한지는 선택 

반응형

+ Recent posts