[머신 러닝] 2-6 SQL CRUD - ORDER BY & DISTINCT

혯응·2024년 9월 6일

1. ORDER BY

오름 차순 정렬

script = """
SELECT 
    name, 
    milliseconds, 
    albumid 
FROM 
    tracks 
ORDER BY            -- 선택한 특정한 열의 순서(ORDER)에 따라(BY)
    milliseconds;   -- 오름차순 정렬이 디폴트 
"""

오름 차순 정렬이 디폴트 이기 때문에 ASC 안적어도 됨



내림 차순 정렬

script = """
SELECT 
    name,
    milliseconds,
    albumid 
FROM 
    tracks 
ORDER BY 
    milliseconds DESC;   -- DESC : 내림차순(Descending) <-> ASC : 오름차순 (Ascending)
""" 

df = pd.read_sql_query(script, conn)
df.head()

내림 차순일 경우 DESC 작성



여러 행 정렬

script = """
SELECT
    name,
    milliseconds, 
    albumid
FROM
    tracks
ORDER BY   
    -- 1) albumid 열을 기준으로 오름차순 정렬하고,
    -- 2) 동일한 albumid 값을 가진 행들에 대해서는 milliseconds 열을 기준으로 내림차순 정렬
    albumid ASC,         -- 1순위 조건
    milliseconds DESC;         -- 2순위 조건
""" 

1순위와 2순위를 각각 걸어 정렬



널 데이터 값 정렬
입력

script = """
SELECT 
    TrackId, 
    Name, 
    Composer 
FROM 
   tracks
ORDER BY 
   Composer;
""" 

출력

Composer 중 "None"은 Null data, SQLite에서 [ Null data는 가장 작은 값 ]으로 인식





FILITERING 필터링

1. DISTINCT

중복된 값을 제외함

script = """
SELECT 
    DISTINCT city    -- distinct : 뚜렷이 구별되는, 별개의
FROM 
    customers
ORDER BY 
    city;
""" 

널 값이 여러개일 경우 중복을 제외하여 하나만 출력

profile
감자 개발자

0개의 댓글