BaşlayınÜcretsiz başlayın

NYC İlçe istatistikleri SP

Bu kursta öğrendiklerini uygulama zamanı: Taxi Ride iş senaryosunun ilk hedefini çözmek için bir saklı yordam yaz. Her NYC ilçesi ve haftanın her günü için AvgFarePerKM, RideCount ve TotalRideMin değerlerini hesapla. Paydaşlarla yapılan görüşme sonrası, TripDistance değeri sıfır olan kayıtları hariç tutmalısın.

Bu egzersiz, kursun bir parçasıdır

SQL Server'da Fonksiyonlar ve Saklı Yordamlar Yazma

Kursa Göz Atın

Egzersiz talimatları

  • Alış (pickup) haftanın günü ve Borough alanlarına göre seç ve grupla.
  • .88 Euro kurunu kullanarak dbo.ConvertDollar() ve dbo.ConvertMiletoKM() ile AvgFarePerKM hesapla.
  • AvgFarePerKM değerini Almanca para birimi, RideCount ve TotalRideMin değerlerini Almanca sayı formatında göster.
  • TripDistance değeri 0 olan kayıtları hariç tut.

Uygulamalı etkileşimli egzersiz

Bu egzersizi bu örnek kodu tamamlayarak deneyin.

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;
Kodu Düzenle ve Çalıştır