Как я могу узнать день недели, в котором наименьшее количество поездок в один райдер в среднем? - PullRequest
0 голосов
/ 26 апреля 2020

Ниже приведен мой код, но он возвращает только общее количество поездок, которое составляет одну поездку. Я пытался применить две агрегатные функции вместе (min и count), но не сработало

select count(VendorID) as num_1
from Yellow_trip_data
where passenger_count=1 and RatecodeID = 1
GROUP BY dayofweek(tpep_pickup_datetime);

8569039
10840901
10470560
10965369
10697947
9850593
9591603

1 Ответ

0 голосов
/ 27 апреля 2020
WITH YourQuery as (
    select dayofweek(tpep_pickup_datetime as day_of_week, count(VendorID) as num_1
    from Yellow_trip_data
    where passenger_count=1 and RatecodeID = 1
    GROUP BY dayofweek(tpep_pickup_datetime))
SELECT day_of_week from YourQuery ORDER BY num_1 ASC LIMIT 1

Я просто использовал ваш запрос и выбрал минимальное число.

Если вы хотите показать среднее значение:

WITH SingleRiderCountsPerDay AS (  
        select date_trunc(tpep_pickup_datetime,'DD') as pickup_date, count(VendorID) as number_of_rides
        from Yellow_trip_data
        where passenger_count=1 and RatecodeID = 1
        GROUP BY date_trunc(tpep_pickup_datetime,'DD')
), AverageSingleRidesPerWeekday AS (
        select dayofweek(pickup_date) as day_of_week, AVG(number_of_rides) as average_number_of_rides
        from SingleRiderCountsPerDay
        GROUP BY dayofweek(pickup_date)
) SELECT day_of_week, average_number_of_rides from AverageSingleRidesPerWeekday ORDER BY num_1 ASC LIMIT 1
...