
SQL 공부중 입니다. ✍✍✍
문제
https://school.programmers.co.kr/learn/courses/30/lessons/131530
풀이
[나의 풀이]
SELECT TRUNCATE(PRICE / 10000,0)*10000 "PRICE_GROUP", COUNT(PRICE) "PRODUCTS"
FROM PRODUCT
GROUP BY TRUNCATE(PRICE / 10000,0)*10000
ORDER BY TRUNCATE(PRICE / 10000,0)*10000 ASC;
꽤 어려운 문제였습니다. 주어진 상품 테이블에서 10000원 단위로 상품이 몇개가 있는지 출력해야 되기 때문에 CASE-WHEN 구문을 활용하는 생각이 가장 먼저 났습니다. 하지만 코드가 길어지기도 하고 상품의 최대 가격이 나와있지 않아 비효율적이라고 생각했고 TRUNCATE(PRICE/10000,0)*10000 수식을 통해서 만원 단위의 가격으로 묶을 수 있었습니다.😺😺😺
[다른사람의 풀이]
SELECT TRUNCATE(PRICE,-4) AS PRICE_GROUP, COUNT(*) AS PRODUCTS
FROM PRODUCT
GROUP BY TRUNCATE(PRICE,-4)
ORDER BY PRICE_GROUP
다른 유저의 풀이를 보며 TRUNCATE(가격,음수) 구문으로 원하는 자릿수는 0으로 만드는 구문을 배울 수 있었습니다.
감사합니다.🏃♀️🏃♀️🏃♀️
🍀