[SQL] 숫자 함수

두리두두·2023년 6월 14일
0

TIL

목록 보기
6/10

🐹 문제

https://school.programmers.co.kr/learn/courses/30/lessons/131530
프로그래머스 - 가격대 별 상품 개수 구하기


🐰 풀이

1. div 연산자로 몫 구하기

SELECT (PRICE DIV 10000)*10000 AS PRICE_GROUP, COUNT(*) AS PRODUCTS FROM PRODUCT
GROUP BY PRICE_GROUP
ORDER BY PRICE_GROUP;
  • 어케하나 하다가 10000으로 나눈 몫*10000을 하면 컬럼을 채울 수 있겠다는 생각이 들었다.
  • 몫 구하는 방법은 아래에... 나는 구글링을 통해... div를 활용함!

2. case문 사용

SELECT (
    CASE
    WHEN PRICE < 10000 THEN 0
    ELSE TRUNCATE(PRICE, -4)
    END
) AS PRICE_GROUP , COUNT(PRODUCT_ID)
FROM PRODUCT
GROUP BY PRICE_GROUP
ORDER BY PRICE_GROUP;
  • CASE로 10000보다 작을 때랑 그 이후 처리해서 price_group 채우기

🙈 메모

SQL 숫자 함수

  1. 나눗셈
    • DIV : 몫만 구하기
    • 그냥 /은 소수점 4자리까지 표현
      7 div 2 -> 3
      7 / 2   -> 3.xxxx
    • MOD : 나머지만 구하기. 여러 형태 가능하니 하나만 잘 외울것!
          MOD(7,2)
          7 MOD 2
          7 % 2
  2. 올림, 내림, 버림, 반올림
    • CEIL(x.xx) : 입력값 x보다 작지 않은 정수의 최소값
    • FLOOR(x.xx) : 입력값 x보다 크지 않은 정수의 최대값
    • TRUNCATE(x.xx, 3) : 소수점 자릿수 버림
    • ROUND(x.xx, 3) : 소수점 자릿수 올림
  3. 절대값
    • ABS(-3.33)
  4. 제곱 관련
    • SORT(x) : 제곱근
    • POW(x,2) : 거듭제곱
profile
야금야금

0개의 댓글