본문 바로가기
반응형

카테고리98

MYSQL - 순서 매기기 ROWNUM MYSQL에서 오라클 처럼 행의 순서를 매겨 행번호를 조회하는 방법들을 알아보겠습니다. MYSQL 8버전 이상에서는 RANK, ROW_NUMBER 내장함수로 쉽게 매길 수 있으나 5버전 이하에서는 다음과 같은 방식으로 조회할 수 있습니다. 1) SET으로 초기화하는 방법 -- 초기화 SET @ROWNUM:=0; -- 조회 SELECT @ROWNUM:=@ROWNUM+1 AS ROWNUM, A.* FROM DEPT A ORDER BY A.SALARY 2) WHERE 절에서 초기화하는 방법 SELECT @ROWNUM:=@ROWNUM+1 AS ROWNUM, A.* FROM DEPT A WHERE (@ROWNUM:=0)=0 ORDER BY A.SALARY 3) FROM 절에서 초기화하는 방법 SELECT @ROW.. 2024. 3. 22.
MYSQL - 그룹 순서 매기기 ROWNUM MYSQL에서 행번호를 붙일 때 특정 컬럼을 기준으로 그룹별로 행번호를 붙일 때는 다음과 같은 방식으로 조회할 수 있습니다. 그룹 내에서 행번호 붙이기 SELECT CASE WHEN @GRP=A.DEPT THEN @ROWNUM:=@ROWNUM+1 ELSE @ROWNUM:=1 END AS ROWNUM , (@GRP:=A.DEPT) AS DUM , A.* FROM (SELECT * FROM DEPT ORDER BY DEPT, SALARY DESC) A , (SELECT @ROWNUM:=0) TMP 위와 같이 기준 컬럼을 세팅하여 그룹 내에서 행번호를 매길 수 있습니다. ROWNUM DEPT NAME SALARY 1 개발 김영철 56000 2 개발 김지수 52000 3 개발 이재현 50000 1 마케팅 박수홍.. 2024. 3. 22.
MYSQL - LIMIT 사용 방법 -- 처음 행부터 N개 가져오기 SELECT * FROM [TABLE NAME] LIMIT N; -- N 행부터 M개 가져오기 -- LIMIT 시작점, 갯수 (아래 예의 경우 N+1번째부터 N개 추출, 첫번째 파라미터는 0 부터 시작) SELECT * fROM [TABLE NAME] LIMIT N, M; -- WHERE절을 사용하는 경우 SELECT * FROM [TABLE NAME] WHERE [WHERE 조건] LIMIT N, M; 2024. 3. 4.
MYSQL - UPDATE 할 때 JOIN 사용하기 MYSQL에서 데이터를 수정할 때 UPDATE 문에서 테이블을 JOIN 하여 수정하는 방법을 알아보겠습니다. 테이블 조인할 때 Alias를 헷갈리지 않도록 주의해야 합니다. DEPT NAME SALARY 개발 장희수 5000 개발 김두식 6000 영업 김봉석 3000 인사 장주원 7000 DEPT MANAGER 개발 조인성 영업 한효주 인사 류승룡 UPDATE 문에 JOIN 걸기 UPDATE 문에 JOIN을 걸어서 데이터를 수정해 보겠습니다. 1) 기본 문법 UPDATE tb1 INNER JOIN tb2 ON tb1.col1 = tb2.col1 SET tb1.col2 = val1 WHERE 조건; 2) 예시 UPDATE TEST1 INNER JOIN TEST2 ON TEST1.DEPT = TEST2.DE.. 2023. 9. 17.
반응형