Mulai sekarangMulai gratis

SP Statistik Borough NYC

Sekarang saatnya menerapkan apa yang telah Anda pelajari di kursus ini dan menulis stored procedure untuk menyelesaikan tujuan pertama dari studi kasus Taxi Ride. Hitung AvgFarePerKM, RideCount, dan TotalRideMin untuk setiap borough NYC dan hari kerja. Setelah berdiskusi dengan pemangku kepentingan, Anda harus mengabaikan catatan ketika TripDistance bernilai nol.

Latihan ini merupakan bagian dari kursus

Menulis Function dan Stored Procedure di SQL Server

Lihat Kursus

Instruksi latihan

  • Lakukan SELECT dan GROUP BY berdasarkan hari penjemputan dalam sepekan dan Borough.
  • Hitung AvgFarePerKM dengan dbo.ConvertDollar() dan dbo.ConvertMiletoKM() menggunakan kurs konversi ke Euro sebesar .88.
  • Tampilkan AvgFarePerKM sebagai mata uang Jerman, RideCount dan TotalRideMin sebagai angka Jerman.
  • Abaikan catatan ketika TripDistance adalah 0.

Latihan interaktif langsung praktik

Cobalah latihan ini dengan melengkapi kode contoh ini.

CREATE OR ALTER PROCEDURE dbo.cuspBoroughRideStats
AS
BEGIN
SELECT
    -- Calculate the pickup weekday
	___(weekday, PickupDate) AS 'Weekday',
    -- Select the Borough
	Zone.Borough AS 'PickupBorough',
    -- Display AvgFarePerKM as German currency
	___(AVG(dbo.___(TotalAmount, .88)/dbo.___(TripDistance)), '_', 'de-de') AS '___',
    -- Display RideCount in the German format
	___(COUNT(ID), '_', 'de-de') AS '___',
    -- Display TotalRideMin in the German format
	___(SUM(DATEDIFF(SECOND, PickupDate, DropOffDate))/60, '_', 'de-de') AS '___'
FROM YellowTripData
INNER JOIN TaxiZoneLookup AS Zone 
ON PULocationID = Zone.LocationID
-- Only include records where TripDistance is greater than 0
___ ___ > ___
-- Group by pickup weekday and Borough
GROUP BY DATENAME(WEEKDAY, PickupDate), Zone.Borough
ORDER BY CASE WHEN DATENAME(WEEKDAY, PickupDate) = 'Monday' THEN 1
	     	  WHEN DATENAME(WEEKDAY, PickupDate) = 'Tuesday' THEN 2
              WHEN DATENAME(WEEKDAY, PickupDate) = 'Wednesday' THEN 3
              WHEN DATENAME(WEEKDAY, PickupDate) = 'Thursday' THEN 4
              WHEN DATENAME(WEEKDAY, PickupDate) = 'Friday' THEN 5
              WHEN DATENAME(WEEKDAY, PickupDate) = 'Saturday' THEN 6
              WHEN DATENAME(WEEKDAY, PickupDate) = 'Sunday' THEN 7 END,  
		 SUM(DATEDIFF(SECOND, PickupDate, DropOffDate))/60
DESC
END;
Edit dan Jalankan Kode