DB에서 데이터의 고유한 식별을 위해 시퀀스(sequence)를 사용합니다. Number 컬럼을 만들고 기본키(Primary Key)로 지정해서 1, 2, 3, 4 … 식으로 번호를 붙여서 저장하는 것입니다. 이때 각 숫자는 행에 기록된 데이터를 식별하는 고유한 값이 됩니다. MYSQL rownum 사용 방법 오라클에서는 rownum이라는 쿼리를 이용해서 시퀀스를 사용할 수 있지만, mysql에는 그런 쿼리가 없어 사용자 정의 변수(@)를 이용해서 처리할 수 있습니다. 사용자 정의 변수는 직접 값을 설정하는 변수를 말하며 = 또는 := 부호로 정의해 사용합니다. 마리아DB도 mysql과 같은 기반이기 때문에 동일하게 적용됩니다. [MYSQL 행번호 부여 예시] SELECT (@rownum := @rown..
게시판에 페이지 번호를 매기는 작업은 필수적이다. 한 화면에 보여줄 글의 개수가 정해지고 그 개수를 초과하면 페이지가 [1] [2] [3] ... 과 같이 추가되는 식이다. 구현 코드는 검색하면 쉽게 찾을 수 있다. 변수 선언을 이런 식으로 한다. int pageSize = 10; // 한 페이지의 글 개수 int currentPage = Integer.parseInt(pageNum); // 현재 페이지 int startRow = (currentPage - 1) * pageSize + 1; // 한 페이지의 시작글 번호 int endRow = currentPage * pageSize; // 한 페이지의 마지막 글번호 int count = 0; int number = 0; 그러나 나는 이 코드가 어떻게 동..
ROWNUM ROWNUM은 오라클 내부적으로 생성되는 가상 컬럼이다. 자료의 일부를 잘라내서 확인하는 용도로 자주 활용된다. SQL 조회 결과의 순번을 기준으로 N번째까지 가져오는 식이다. ROWNUM 함수는 파라미터를 갖지 않는다. 우선 예제를 진행하기 위해서 테이블을 만들고 적당히 값을 넣어주도록 한다. -- customers 테이블 생성 CREATE TABLE customers ( customer_id number(10) NOT NULL, last_name varchar2(50) NOT NULL, first_name varchar2(50) NOT NULL, favorite_website varchar2(50), CONSTRAINT customers_pk PRIMARY KEY (customer_id)..