NYC Borough सांख्यिकी SP
अब समय है कि आप इस कोर्स में जो सीखा है उसे लागू करें और Taxi Ride बिज़नेस केस के पहले उद्देश्य को हल करने के लिए एक stored procedure लिखें। प्रत्येक NYC borough और weekday के लिए AvgFarePerKM, RideCount और TotalRideMin की गणना करें। स्टेकहोल्डर्स से चर्चा के बाद, आपको वे रिकॉर्ड छोड़ देने चाहिए जिनमें TripDistance शून्य है.
यह अभ्यास पाठ्यक्रम का हिस्सा है
SQL Server में फंक्शंस और स्टोरड प्रोसीजर्स लिखना
अभ्यास निर्देश
- pickup weekday और
Boroughके आधार पर select करें और group by लगाएँ. dbo.ConvertDollar()औरdbo.ConvertMiletoKM()से.88Euro exchange rate उपयोग करते हुएAvgFarePerKMनिकालें.AvgFarePerKMको जर्मन मुद्रा के रूप में, औरRideCountतथाTotalRideMinको जर्मन संख्या स्वरूप में दिखाएँ.- जिन रिकॉर्ड्स में
TripDistance0है, उन्हें छोड़ दें.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
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;