[LeetCode] 262. Trips and Users

주연·2023년 5월 8일
0

SQL 문제 풀이

목록 보기
27/28
post-thumbnail

문제

https://leetcode.com/problems/trips-and-users/

조건) request_at은 2013-10-012013-10-03 사이값만
banned는 No

날짜별 취소율 구하기( cancelled_by_driver + cancelled_by_client / 전체)

풀이

엄청 복잡하게 풀었습니다. with문을 써서 취소할때랑 전체 나눠 풀었습니다^^ 풀이를 확인해보니 다 안 써도 돼서..너무 용량만 많이 차지하는 코드라서 제가 푼 풀이는 안 썼습니다..

  • 풀이 확인
SELECT request_at AS Day
    , ROUND(cancel_count / total, 2) AS 'Cancellation Rate'
FROM (
SELECT request_at
    , SUM(CASE WHEN status != 'completed' THEN 1 ELSE 0 END) cancel_count
    , COUNT(*) total
FROM Trips t
    INNER JOIN Users uc ON t.client_id = uc.users_id
    INNER JOIN Users ud ON t.driver_id = ud.users_id
WHERE request_at BETWEEN '2013-10-01' AND '2013-10-03'
    AND uc.banned = 'No'
    AND ud.banned = 'No'
GROUP BY request_at
) tt


왜 저런 색깔이 뜨는거지? 한참동안 잘못된지 알고 따옴표만 계속 수정했다.....그런데 그냥 저래도 코드 잘 돌아간다. 괜히 안될 줄 알고 수정만 엄청 했다...

profile
공부 기록

0개의 댓글