SELECT SUM(CASEWHEN trip_distance <=1THEN1ELSE0END) AS up_to_1_mile, SUM(CASEWHEN trip_distance >1AND trip_distance <=3THEN1ELSE0END) AS between_1_and_3_miles, SUM(CASEWHEN trip_distance >3AND trip_distance <=7THEN1ELSE0END) AS between_3_and_7_miles, SUM(CASEWHEN trip_distance >7AND trip_distance <=10THEN1ELSE0END) AS between_7_and_10_miles, SUM(CASEWHEN trip_distance >10THEN1ELSE0END) AS over_10_miles FROM green_tripdata WHERE lpep_pickup_datetime >='2019-10-01'AND lpep_pickup_datetime <'2019-11-01' AND lpep_dropoff_datetime >='2019-10-01'AND lpep_dropoff_datetime <'2019-11-01';
Q4
也可以用limit 1
1 2 3 4 5 6 7 8 9 10 11 12
SELECT CAST(lpep_pickup_datetime ASDATE) AS pickup_day, MAX(trip_distance) as longest_trip FROM green_tripdata WHERE lpep_pickup_datetime >='2019-10-01'AND lpep_pickup_datetime <'2019-11-01' GROUPBY CAST(lpep_pickup_datetime ASDATE) ORDERBY longest_trip DESC LIMIT 1;
Q5
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
SELECT z."Zone" AS "pickup_zone", SUM(g."total_amount") AS "total_amount" FROM Green_tripdata g, taxi_zones z WHERE g."PULocationID" = z."LocationID" AND g."lpep_pickup_datetime" >='2019-10-18'AND g."lpep_pickup_datetime" <'2019-10-19' GROUPBY z."Zone" HAVING SUM(g."total_amount") >13000 ORDERBY SUM(g."total_amount") DESC;
Q6
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
SELECT dz."Zone" AS "dropoff_zone", MAX(g."tip_amount") AS "max_tip_amount" FROM Green_tripdata g JOIN taxi_zones pz ON g."PULocationID" = pz."LocationID" JOIN taxi_zones dz ON g."DOLocationID" = dz."LocationID" WHERE g."lpep_pickup_datetime" >='2019-10-01'AND g."lpep_pickup_datetime" <'2019-10-31'AND pz."Zone" ='East Harlem North' GROUPBY dz."Zone" ORDERBY MAX(g."tip_amount") DESC LIMIT 1;