MySQL

MySQL의 데이터를 나눠서 가져오는 방법 limit

HooSL 2021. 12. 8. 11:42

예시 문)

INSERT INTO books (title, author_fname, author_lname, released_year, stock_quantity, pages)
VALUES
('The Namesake', 'Jhumpa', 'Lahiri', 2003, 32, 291),
('Norse Mythology', 'Neil', 'Gaiman',2016, 43, 304),
('American Gods', 'Neil', 'Gaiman', 2001, 12, 465),
('Interpreter of Maladies', 'Jhumpa', 'Lahiri', 1996, 97, 198),
('A Hologram for the King: A Novel', 'Dave', 'Eggers', 2012, 154, 352),
('The Circle', 'Dave', 'Eggers', 2013, 26, 504),
('The Amazing Adventures of Kavalier & Clay', 'Michael', 'Chabon', 2000, 68, 634),
('Just Kids', 'Patti', 'Smith', 2010, 55, 304),
('A Heartbreaking Work of Staggering Genius', 'Dave', 'Eggers', 2001, 104, 437),
('Coraline', 'Neil', 'Gaiman', 2003, 100, 208),
('What We Talk About When We Talk About Love: Stories', 'Raymond', 'Carver', 1981, 23, 176),
("Where I'm Calling From: Selected Stories", 'Raymond', 'Carver', 1989, 12, 526),
('White Noise', 'Don', 'DeLillo', 1985, 49, 320),
('Cannery Row', 'John', 'Steinbeck', 1945, 95, 181),
('Oblivion: Stories', 'David', 'Foster Wallace', 2004, 172, 329),
('Consider the Lobster', 'David', 'Foster Wallace', 2005, 92, 343),
('10% Happier', 'Dan', 'Harris', 2014, 29, 256),
('fake_book', 'Freida', 'Harris', 2001, 287, 428),
('Lincoln In the Bardo', 'George', 'Saunders', 2017, 156, 375);

 

데이터(행)을 나눠서 가져오는 방법 paging이라고 합니다.

 

앞에서 5개만 가져오는 방법

select *
from books
limit 5;
-- 위아래는 같은 코딩
select *
from books
limit 0,5;
-- 끝까지 설정하고 싶을때 안적어주셔도 됩니다.

 

5개 가져온 이후의 5개를 가져오는 것

select *
from books
limit 5,5;  -- 5번째부터 5개

select *
from books
limit 10,5; -- 10번째부터 5개

 

정렬과 함께 사용도 가능합니다.

select *
from books
order by released_year
limit 5,7; -- 연도별로 정렬한 뒤 5번째부터 7개 출력