강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của holly
holly

câu hỏi đã được viết

[#100.000.000] Giải quyết vấn đề SQL nâng cao để phân tích dữ liệu

Giải quyết vấn đề 2

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

Viết

·

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

Câu trả lời 2

0

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

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

convert(float, 값)/값

convert(float, cancel_count) / total_count

0

jaemin님의 프로필 이미지
jaemin
Người chia sẻ kiến thức

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

holly님의 프로필 이미지
holly
Người đặt câu hỏi

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

jaemin님의 프로필 이미지
jaemin
Người chia sẻ kiến thức

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

image

Hình ảnh hồ sơ của holly
holly

câu hỏi đã được viết

Đặt câu hỏi