SELECT FLAVOR
FROM FIRST_HALF
ORDER BY TOTAL_ORDER DESC,  SHIPMENT_ID ASC
;

 


< Point 정리>

 

1) ORDER BY에 여러 조건 있으면 

 

ORDER BY TOTAL_ORDER DESC,  SHIPMENT_ID ASC

 

이렇게 ,로 DESC, ASC 구분해서 설정해주면 된다.

SELECT 
    HISTORY_ID, 
    CAR_ID, 
    TO_CHAR(START_DATE, 'YYYY-MM-DD') AS START_DATE,
    TO_CHAR(END_DATE, 'YYYY-MM-DD') AS END_DATE,    
     
    CASE 
        WHEN END_DATE - START_DATE + 1 >= 30 THEN '장기 대여'
        ELSE '단기 대여'
    END AS RENT_TYPE
    
FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY
WHERE EXTRACT(YEAR FROM START_DATE) = 2022 AND 
EXTRACT(MONTH FROM START_DATE) = 9
ORDER BY HISTORY_ID DESC
;

 

<Point 정리>

 

1. CASE

 

CASE

  WHEN THEN

  WHEN THEN

  ELSE

  END AS COLUMN 이름

 

2. 날짜 계산할 때 +1 해주는거 (맥락따라 바뀜.)

 

3. DAY기준 두 날짜의 차이 구하기

 

DATE - DATE

 

4. SQL 문 작성 규칙(?)

 

SELECT는 아래로 죽 적는 듯? (확실하지 않음)

SELECT *
FROM CAR_RENTAL_COMPANY_CAR
WHERE OPTIONS LIKE '%네비게이션%'
ORDER BY CAR_ID DESC
;

 

<포인트 정리>

 

 

1) LIKE

 

WHERE '네비게이션'  IN OPTIONS

 

하면 OPTIONS 열에 '네비게이션' 딱 하나만 있는 행들만 출력된다. 

 

따라서 위와 같이 LIKE를 사용하여

 

WHERE OPTIONS LIKE '%네비게이션%'

 

를 하면 OPTIONS열에 네비게이션도!!! 포함되는 행들이 출력된다.

 

2) 내림차순(점점 값이 작아지도록 정렬)

 

ORDER BY ~ DESC

 

DESC 사용하면 된다.

 

cf) 오름차순 = 점점 값이 올라가는

+ Recent posts