SUM() के साथ रनिंग टोटल
विंडो फंक्शंस का एक शक्तिशाली उपयोग रनिंग टोटल निकालना है: किसी समयावधि में किसी मान की लगातार चलती हुई गिनती। यहाँ, हम विंडो फंक्शन का उपयोग करके जुलाई 2019 में प्रत्येक तारीख और incident type पर हुई घटनाओं की संख्या, साथ ही incident type के हिसाब से कुल घटनाओं का रनिंग टैली निकालना चाहेंगे। एक विंडो फंक्शन हमारी यह समस्या एक ही क्वेरी में हल कर देगा.
यह अभ्यास पाठ्यक्रम का हिस्सा है
SQL Server में Time Series Analysis
अभ्यास निर्देश
- सही विंडो फंक्शन भरें.
- विंडो फंक्शन में
PARTITION BYक्लॉज़ भरें, और incident type ID के अनुसार partition करें. - विंडो फंक्शन में
ORDER BYक्लॉज़ भरें, और incident date के अनुसार (डिफॉल्ट, ascending क्रम में) ऑर्डर करें.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
SELECT
ir.IncidentDate,
ir.IncidentTypeID,
ir.NumberOfIncidents,
-- Get the total number of incidents
___(ir.NumberOfIncidents) OVER (
-- Do this for each incident type ID
PARTITION BY ir.___
-- Sort by the incident date
ORDER BY ir.___
) AS NumberOfIncidents
FROM dbo.IncidentRollup ir
INNER JOIN dbo.Calendar c
ON ir.IncidentDate = c.Date
WHERE
c.CalendarYear = 2019
AND c.CalendarMonth = 7
AND ir.IncidentTypeID IN (1, 2)
ORDER BY
ir.IncidentTypeID,
ir.IncidentDate;