MySQL

[MySQL] 데이터를 가공 키워드 distinct, order by, limit

건휘맨 2024. 5. 14. 10:30

distinct : 데이터를 유니크하게 만든다. (중복을 제거) 

-- 데이터를 유니크하게 만드는 키워드 distinct
-- author_lname 이 카테고리컬 데이터다. 유니크한 데이터를 확인하자.

select distinct author_lname
from books;

-- fname 과 lname 을 합친 full_name 으로 중복 제거해서 확인해보자.

select distinct concat(author_fname, ' ' , author_lname) full_name
from books;

 

order by : 데이터를 정렬

-- 정렬 : order by 키워드 => 위치가 중요!
-- author_lname 으로 정렬

select *
from books
order by author_lname;

-- full_name 내림차순으로 정렬 (내림차순 desc, 오름차순 asc)

select *, concat (author_fname, ' ',author_lname) full_name
from books
order by full_name desc;

-- author_fname 으로 오름차순 정렬하고, pages 는 내림차순으로 정렬하세요.
-- 테이블 컬럼은 모두 보여주세요.

select *
from books
order by author_fname asc, pages desc;

 


limit , offset : 데이터를 끊어서 가져온다.

-- 데이터의 갯수가 많아서, 데이터를 끊어서 가져오는 방법 => paging
-- 이때 사용하는 키워드는 limit
-- limit 오른쪽에 작성하는 숫자는 2개 => 데이터의 offset 과 데이터의 갯수

-- books 테이블의 데이터를 처음부터 5개만 가져오시오.

select *
from books
limit 0, 5;

-- 그 다음의 데이터를 5개를 가져오시오. (offset은 5)

select *
from books
limit 5, 5;

-- 그 다음의 데이터를 5개 가져오시오.. (offset 10)

select *
from books
limit 10, 5;

 

-- 출판년도를 내림차순으로 정렬하여, 처음부터 7개의 데이터를 가져오시오.

select *
from books
order by released_year
limit 7;
-- limit 0, 7;