• 카테고리

    질문 & 답변
  • 세부 분야

    데이터 분석

  • 해결 여부

    미해결

소수점 이하 숫자가 안나옵니다 ㅠㅠ

22.12.09 22:58 작성 조회수 184

0

FROM절이 아닌 WITH문을 사용하여 풀이했는데 답이 안나오네요. ㅠㅠ 어떤 점이 잘못되었는지 여쭤볼 수 있을까요?

WITH sub AS (
SELECT request_at, 
        SUM(CASE WHEN status != 'completed' THEN 1 ELSE 0 END) cancel_count,
        COUNT(*) total_count
FROM Trips 
    INNER JOIN Users AS U1 ON Trips.client_id = U1.users_id
    INNER JOIN Users AS U2 ON Trips.driver_id = U2.users_id
WHERE Trips.request_at BETWEEN '2013-10-01' AND '2013-10-03'
AND U1.banned = 'NO' AND U2.banned = 'NO'  
GROUP BY request_at  
    )

SELECT request_at AS Day, ROUND(cancel_count/total_count,2) AS 'Cancellation Rate'
FROM sub;

답변 2

·

답변을 작성해보세요.

0

풍경님의 프로필

풍경

2023.01.16

아마 인터 프린터가 mysql이 아니라 mssql이라서 그런거 일거같내요.

이럴 땐 별도로 형변환 해줘야 해요.

convert(float, 값)/값

convert(float, cancel_count) / total_count

0

올려주신 쿼리 그대로 복사해서 돌려보니까 잘 작동되고 정답 처리도 되는데, 어떤 문제가 있으신 걸까요?

안녕님의 프로필

안녕

질문자

2022.12.26

이렇게 작성하면 소수점 이하 숫자가 안나와서 질문드렸어요!

저는 아래와 같이 소수점 이하도 잘 나왔습니다.

image