새소식

Database/MySQL

MySQL_데이터 정렬하기

  • -

ORDER BY

데이터베이스에 저장된 데이터의 순서를 변경하는 것이 아니라

SELECT 문을 수행해서 데이터를 보여줄 때 변경해주는 것이다.

SELECT * 
FROM Customers
ORDER BY customerid DESC;

오름차순으로 하고 싶을 때는 ASC을 사용하거나 아무것도 안 쓰면 된다. (default값이기 때문)

 

 

ORDER BY를 이용해 최댓값/최솟값 데이터 불러오기

최댓값을 보고 싶을 때는 DESC(내림차순)정렬을 한 뒤 LIMIT을 사용해서 1개만 불러온다.

SELECT * 
FROM Products
ORDER BY price DESC
LIMIT 1;

 

최솟값을 보고 싶을 때는 ASC(오름차순)정렬을 한 뒤 LIMIT 1으로 1개만 불러온다.

SELECT * 
FROM Products
ORDER BY price ASC
LIMIT 1;

 

ORDER BY를 이용해 데이터 상위 3개 출력

ORDER BY DESC로 내림차순 정렬 뒤 LIMIT 3을 사용한다.

SELECT * 
FROM Products
ORDER BY price DESC
LIMIT 3;

 

 


HackerRank: Higher Than 75 Marks

Query the Name of any student in STUDENTS who scored higher than  75 Marks.

Order your output by the last three characters of each name.

If two or more students both have names ending in the same last three characters (i.e.: Bobby, Robby, etc.), secondary sort them by ascending ID.

STUDENTS TABLE

 

SELECT Name
FROM STUDENTS
WHERE Marks > 75
ORDER BY RIGHT(Name,3), ID -- 두번째 정렬 조건을 설정하려면 , 를 사용해서 다음 조건을 작성

 

output

 

문자열을 자르는 함수: SUBSTR( )

  • LEFT(컬럼명 또는 문자열, 문자열의 길이)
    SELECT LEFT("20220222", 4)
     ➔ 2022
  • RIGHT(컬럼명 또는 문자열, 문자열의 길이)
    SELECT RIGHT("20220222", 4)
     ➔ 0222
  • SUBSTRING(컬럼명 또는 문자열, 시작위치, 길이)
    = SUBSTR( )
    SUBSTR("20220222", 1, 4)
    ➔ 2022
    SUBSTR("20220222", 5)
    ➔ 0222

 


HackerRank: Weather Observation Station 15

Query the Western Longitude (LONG_W) for the largest Northern Latitude (LAT_N) in STATION that is less than 137.2345 Round your answer to 4 decimal places.

STATION TABLE

 

SELECT ROUND(long_w,4) --소수점 4자리까지만 출력
FROM station
WHERE lat_n < 137.2345
ORDER BY lat_n DESC
LIMIT 1;

 

소수점 처리

  • CEIL( ) : 올림
    SELECT CEIL(5.5)
     ➔ 6
  • FLOOR( ) : 내림
    SELECT FLOOR(5.5)
     ➔ 5
  • ROUND( ) : 반올림
    ROUND(2.018395, 4)
    ➔ 2.0184
728x90

'Database > MySQL' 카테고리의 다른 글

MySQL_조건문 CASE를 활용한 테이블 피봇  (0) 2022.02.27
MySQL_조건문 CASE  (0) 2022.02.26
MySQL_GROUP BY & HAVING  (0) 2022.02.25
MySQL_데이터 요약 통계(집계함수)  (0) 2022.02.24
MySQL_조건에 맞는 데이터 검색  (0) 2022.02.21
Contents