반응형
데이터가 DB에 삽입된 순서로 출력되기 때문에 데이터 변동이 있다면 순서가 바뀔 수 있다.
따라서 데이터 호출 시에 정렬 순서를 명시하여 원하는 순서대로 데이터를 받아볼 수 있다.
SELECT price FROM future.kospi200 ORDER BY price LIMIT 10;
price column을 오름차순으로 정렬한다.
이 때 LIMIT을 붙이면 전체 price 데이터 중 가장 작은 데이터 10개를 반환한다.
SELECT DISTINCT date FROM future.kospi200 ORDER BY price LIMIT 10;
꼭 요청한 column에 대해서만 정렬할 수 있는건 아니다.
위 예시처럼 price가 가장 낮았던 날짜만을 요청할 수도 있다.
SELECT DISTINCT date,time FROM future.kospi200 ORDER BY price LIMIT 10;
여러 column을 호출할 수도 있다.
SELECT DISTINCT date, time, price FROM future.kospi200 ORDER BY price, date LIMIT 10;
date, time, price를 요청하는데 정렬기준은 price, date이다.
이경우 price를 기준으로 줄을 우선적으로 세우고, 그 이후 price에 중복이 있다면 time으로 다시 줄을 세운다.
SELECT DISTINCT date, time, price FROM future.kospi200 ORDER BY 3, 2 LIMIT 10;
숫자는 귀찮음을 해소해준다. 이 경우 date=1, time=2, price=3다.
SELECT DISTINCT date, time, price FROM future.kospi200 ORDER BY 3 DESC LIMIT 10;
ORDER BY의 deafult는 오름차순이지만, DESC를 명시해줌으로써 내림차순 요청도 가능하다.
이 경우 DESC가 붙은 column에 대해서만 내림차순이 적용된다.
가장 높은 price를 기록했을 때는 03/31이기 때문에 해당 일자의 데이터가 반환되었다.
SELECT DISTINCT date, time, price FROM future.kospi200 ORDER BY 3 DESC, 2 LIMIT 10;
DESC가 price에 대해서만 적용되어있기 때문에 price는 내림차순 정렬되었으나,
같은 price를 가지는 time 데이터에 대해서는 오름차순 정렬이 되어있음을 확인할 수 있다.
반응형
'프로그래밍언어 > SQL' 카테고리의 다른 글
[SQL] (5) 와일드카드 문자 (0) | 2022.07.12 |
---|---|
[SQL] (4) 고급 데이터 필터링 (0) | 2022.07.11 |
[SQL] (3) 데이터 필터링 (0) | 2022.07.10 |
[SQL] (1) 데이터 가져오기 (0) | 2022.07.07 |