강의

멘토링

커뮤니티

Inflearn Community Q&A

holly's profile image
holly

asked

[A hundred words are not as good as seeing once] Advanced SQL problem solving for data analysis

Solution to problem 2

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

Written on

·

316

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;
sql

Answer 2

0

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

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

convert(float, 값)/값

convert(float, cancel_count) / total_count

0

jaemin님의 프로필 이미지
jaemin
Instructor

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

holly님의 프로필 이미지
holly
Questioner

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

jaemin님의 프로필 이미지
jaemin
Instructor

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

image

holly's profile image
holly

asked

Ask a question