[LeetCode/SQL] 262. Trips and Users

Sooyeon·2024년 1월 16일
0

문제풀이 

목록 보기
95/95
post-thumbnail

[LeetCode/SQL]


📌262. Trips and Users

문제


풀이

- 취소율은 클라이언트 또는 운전자에 의해 취소된 요청 수를 그 날짜에 사용자가 차단되지 않은 총 요청 수로 나누어 계산한다. 

- "2013-10-01"부터 "2013-10-03"까지 각 날짜별로 취소된 요청의 취소율을 출력하라 
-  취소율은 소수점 둘째 자리까지 반올림하여 표시

방법 I


WITH cte AS (
    SELECT request_at 'Day'
    ,COUNT(*) AS 'total'
    ,COUNT(CASE WHEN status LIKE 'cancelled%' THEN 1 END) AS 'cancel'
    FROM Trips
    WHERE request_at BETWEEN '2013-10-01' AND '2013-10-03'
    AND client_id IN (SELECT users_id 
                      FROM Users
                      WHERE banned='No' AND role='client')
    AND driver_id IN (SELECT users_id
                      FROM users
                      WHERE banned ='No' AND role='driver')
    GROUP BY request_at

)

SELECT DAY
       ,ROUND(cancel/total,2) AS 'Cancellation Rate'
FROM cte

0개의 댓글