인프런 커뮤니티 질문&답변

안녕님의 프로필 이미지
안녕

작성한 질문수

[백문이불여일타] 데이터 분석을 위한 고급 SQL 문제풀이

2번 문제 풀이

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

작성

·

246

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

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

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

convert(float, 값)/값

convert(float, cancel_count) / total_count

0

지식공유자 J님의 프로필 이미지
지식공유자 J
지식공유자

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

안녕님의 프로필 이미지
안녕
질문자

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

지식공유자 J님의 프로필 이미지
지식공유자 J
지식공유자

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

image

안녕님의 프로필 이미지
안녕

작성한 질문수

질문하기