Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

Sql सर्वर:प्रति दस मिनट के अंतराल में रिकॉर्ड (शून्य सहित) गिनें

-- क्योंकि आपका नमूना डेटा 27 घंटे तक फैला है:

DECLARE
    @hours TINYINT,
    @minute_interval TINYINT,
    @start SMALLDATETIME;

SELECT
    @hours = 27,
    @minute_interval = 10,
    @start = '20100122 13:00';

;WITH x AS 
(
    SELECT TOP (@hours * (60 / @minute_interval))
        n = ROW_NUMBER() OVER
        (ORDER BY column_id)
    FROM msdb.sys.columns
),
intervals(boundary) AS
(
    SELECT CONVERT
    (
      SMALLDATETIME,
      DATEADD(MINUTE, (-n * @minute_interval), @start)
    )
    FROM x
)
SELECT
    i.boundary,
    RequestCount = COUNT(d.id),
    DistinctPopIDs = COUNT(DISTINCT d.popid)
FROM
    intervals AS i
LEFT OUTER JOIN
    dbo.Track_PageSubmit AS d
    ON d.requestBegin >= i.boundary
    AND d.requestBegin < DATEADD(MINUTE, @minute_interval, i.boundary)
GROUP BY i.boundary
ORDER BY i.boundary;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL सर्वर में NULL को किसी अन्य मान से कैसे बदलें - ISNULL ()

  2. SQL - पंक्तियों से घटते मान को घटाना

  3. PostgreSQL के बराबर SQL सर्वर () पर अलग है

  4. SQL सर्वर MERGE स्टेटमेंट के लिए केस का उपयोग करें:ऑनलाइन और हिस्ट्री टेबल्स को सिंक करना

  5. SQL सर्वर में सभी डेटाबेस में सभी तालिकाओं के लिए कॉलम नाम कैसे खोजें