• 회원가입
  • 로그인
  • 구글아이디로 로그인

[mysql] Python - MySQL Order By (정렬순서)

2718  

목차

  1. ORDER BY - 결과 정렬
  2. ORDER BY 컬럼명 ASC - 오름차순 정렬 (기본값)
  3. ORDER BY 컬럼명 DESC - 내림차순 정렬
  4. CAST(컬럼명 AS int) - (문자형 → 숫자형) 변환
  5. 컬럼 자체를  (문자형 → 숫자형) 변환

 

ORDER BY - 결과 정렬

 

ORDER BY 컬럼명 ASC

컬럼명 오름차순 기준으로 결과 정렬. 

※ 기본값이라, ASC 안 적어도 됨.

 

ORDER BY 컬럼명 DESC

컬럼명 내림차순 기준으로 결과 정렬.

 

주의: 문자형 (varchar 타입 등)으로 저장된 경우, 숫자형으로 변환 필요.

 

ORDER BY 컬럼명 ASC - 오름차순 정렬 (기본값)

※ 주의: 문자형 그대로 정렬 시도 시, 원하는 순서가 안 될 수 있음.

 

import mysql.connector


mydb = mysql.connector.connect(

  host="localhost",

  user="root",

  password="autoset",

  database="hz"

)


mycursor = mydb.cursor()

sql = "SELECT * FROM hz_member ORDER BY mb_level"

mycursor.execute(sql)

myresult = mycursor.fetchall()

for x in myresult:

  print(x)

 

 

[결과값] 

(2, 'AAA', '1')

(1, 'homzzang', '10')

(3, 'BBB', '2')

(4, 'CCC', '2')

(5, 'DDD', '3')

(6, 'EEE', '3')

(7, 'FFF', '3')

(8, 'GGG', '4')

(9, 'HHH', '4')

(10, 'III', '4')

(11, 'JJJ', '4')

(12, 'KKK', '5')

(13, 'LLL', '5')

(14, 'MMM', '5')

(15, 'NNN', '5')

(16, 'OOO', '5') 

 

ORDER BY 컬럼명 DESC - 내림차순 정렬

※ 주의: 문자형 그대로 정렬 시도 시, 원하는 순서가 안 될 수 있음.


import mysql.connector


mydb = mysql.connector.connect(

  host="localhost",

  user="root",

  password="autoset",

  database="hz"

)


mycursor = mydb.cursor()

sql = "SELECT * FROM hz_member ORDER BY mb_level DESC"

mycursor.execute(sql)

myresult = mycursor.fetchall()

for x in myresult:

  print(x)

 

 

[결과값] 

(12, 'KKK', '5')

(13, 'LLL', '5')

(14, 'MMM', '5')

(15, 'NNN', '5')

(16, 'OOO', '5')

(8, 'GGG', '4')

(9, 'HHH', '4')

(10, 'III', '4')

(11, 'JJJ', '4')

(5, 'DDD', '3')

(6, 'EEE', '3')

(7, 'FFF', '3')

(3, 'BBB', '2')

(4, 'CCC', '2')

(1, 'homzzang', '10')

(2, 'AAA', '1') 

 

CAST(컬럼명 AS int) - (문자형 → 숫자형) 변환

 

(문자형 → 숫자형) 변환 후, 내림차순 정렬.

ORDER BY CAST(컬럼명 AS int) ASC

 

(문자형 → 숫자형) 변환 후, 내림차순 정렬.

ORDER BY CAST(컬럼명 AS int) DESC

 

주의: 컬럼 자체의 데이터 타입이 바뀐 것은 아님.


[오름차순]

 

import mysql.connector


mydb = mysql.connector.connect(

  host="localhost",

  user="root",

  password="autoset",

  database="hz"

)


mycursor = mydb.cursor()

sql = "SELECT * FROM hz_member ORDER BY CAST(mb_level AS int) ASC"

mycursor.execute(sql)

myresult = mycursor.fetchall()

for x in myresult:

  print(x)

 

결과값:

(2, 'AAA', '1')

(3, 'BBB', '2')

(4, 'CCC', '2')

(5, 'DDD', '3')

(6, 'EEE', '3')

(7, 'FFF', '3')

(8, 'GGG', '4')

(9, 'HHH', '4')

(10, 'III', '4')

(11, 'JJJ', '4')

(12, 'KKK', '5')

(13, 'LLL', '5')

(14, 'MMM', '5')

(15, 'NNN', '5')

(16, 'OOO', '5')

(1, 'homzzang', '10')


[내림차순] 

 

import mysql.connector


mydb = mysql.connector.connect(

  host="localhost",

  user="root",

  password="autoset",

  database="hz"

)


mycursor = mydb.cursor()

sql = "SELECT * FROM hz_member ORDER BY CAST(mb_level AS int) DESC"

mycursor.execute(sql)

myresult = mycursor.fetchall()

for x in myresult:

  print(x) 

 

결과값: 

(1, 'homzzang', '10')

(12, 'KKK', '5')

(13, 'LLL', '5')

(14, 'MMM', '5')

(15, 'NNN', '5')

(16, 'OOO', '5')

(8, 'GGG', '4')

(9, 'HHH', '4')

(10, 'III', '4')

(11, 'JJJ', '4')

(5, 'DDD', '3')

(6, 'EEE', '3')

(7, 'FFF', '3')

(3, 'BBB', '2')

(4, 'CCC', '2')

(2, 'AAA', '1')

 

 

PS.

컬럼 자체를  (문자형 → 숫자형) 변환

 

처음 mb_level 필드 타입을 VARCHAR로 지정해서 문자형으로 저장.

타입 자체를 숫자로 변경하려면, INT 형 등 숫자 타입으로 컬럼 수정.

 


(예)

 

ALTER TABLE `hz_member` CHANGE `mb_level` `mb_level` INT(4) NULL DEFAULT NULL;

 

 

PS.

Node.js ORDER BY (정렬순서)

https://homzzang.com/b/njs-18



분류 제목
mysql Python - MySQL Create Table (테이블 생성)
mysql Python - MySQL Insert Into Table (데이터 삽입)
mysql Python - MySQL Select From (데이터 선택)
mysql Python - MySQL Where (조건절)
mysql Python - MySQL Order By (정렬순서)
mysql Python - MySQL Delete From (데이터 삭제)
mysql Python - MySQL Drop Table (테이블 삭제)
mysql Python - MySQL Update (데이터 수정)
mysql Python - MySQL Limit (데이터 출력개수)
mysql Python - MySQL Join (테이블 결합)
mongodb Python - MongoDB start (설치・연결)
mongodb Python - MongoDB Create Database (DB 생성)
mongodb Python - MongoDB Create Collection (컬렉션 생성)
mongodb Python - MongoDB Insert (데이터 삽입)
mongodb Python - MongoDB Find (데이터 찾기)
mongodb Python - MongoDB Query (검색 쿼리)
mongodb Python - MongoDB Sort (데이터 정렬)
mongodb Python - MongoDB Delete (데이터 삭제)
mongodb Python - MongoDB Drop Collection (컬렉션 삭제)
mongodb Python - MongoDB Update (데이터 수정)
3/24
목록
찾아주셔서 감사합니다. Since 2012