-
MSSQL 시퀀스(행번호, ID) n배수 SELECT, UPDATEDatabase/MSSQL 2017. 12. 29. 14:56반응형
1. 테이블에 시퀀스(행번호, ID)가 있을 때
시퀀스의 n의 배수만 조회하기, 업데이트하기
SELECT * FROM table WHERE id % n = 0
UPDATE table SET col = 'true' WHERE id % n =0
2. 테이블에 시퀀스(행번호, ID)가 없을 때
임시로 행번호를 만들고, 그 후에 n의 배수만 조회하기, 업데이트하기
SELECT * FROM table A
INNER JOIN (SELECT ROW_NUMBER() over (order by aaa) as rownum, aaa, bbb, ccc, ddd FROM table) B
on B.aaa = A.aaa and B.bbb = A.bbb and B.ccc =A.ccc and B.ddd = A.ddd
WHERE B.rownum & n = 0
UPDATE table
SET qqq = 1
FROM table A
JOIN (SELECT ROW_NUMBER() over (order by aaa) as rownum, aaa, bbb, ccc, ddd FROM table) B
on B.aaa = A.aaa and B.bbb = A.bbb and B.ccc =A.ccc and B.ddd = A.ddd
WHERE B.rownum & n = 0
반응형'Database > MSSQL' 카테고리의 다른 글
MSSQL Database, Table, Column 존재 여부 확인 (0) 2018.06.05 MSSQL 중복제외 SELECT, 중복삭제 DELETE (2) 2018.05.01 MSSQL IDENTITY (시퀀스, ID 자동 증가값) 초기화 (0) 2017.12.11 MSSQL 다른 테이블에서 값을 가져와서 UPDATE 하기 (다른 테이블과 조인해서 UPDATE 하는 방법) (0) 2017.10.17 MSSQL DB 복원 후 사용자 매핑 (How to do user mapping after db restore in SQL Server) (0) 2017.07.27