ㅋㅌ

[SQL] FLOOR

quarrrter 2023. 9. 11. 23:32
SELECT 
    (FLOOR(PRICE / 10000) * 10000) AS PRICE_GROUP,
    COUNT(*) AS PRODUCTS
FROM 
    PRODUCT
GROUP BY 
    PRICE_GROUP
ORDER BY 
    PRICE_GROUP;

FLOOR(PRICE / 10000)은 PRICE를 10000으로 나눈 후 소수점 이하를 버린 정수값을 반환합니다. 즉, 가격을 만원 단위로 나눈 후 그 값의 소수점 이하를 버립니다. 예를 들어, 23000원이라면 2.3가 되고, FLOOR 함수를 적용하면 2가 됩니다.

그리고 이후에 * 10000을 하면 다시 10000을 곱해줌으로써, 버린 소수점 아래 자리를 없애고 10000의 배수로 만듭니다. 이를 통해 원하는 가격대의 최소 금액을 얻을 수 있습니다.

예를 들어, 23000원인 경우:

PRICE / 10000 = 2.3
FLOOR(2.3) = 2
2 * 10000 = 20000
따라서 PRICE_GROUP은 20000이 됩니다. 이것은 2만원 이상 3만원 미만의 가격대를 나타냅니다.