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

एसक्यूएल क्वेरी विकृत पंक्ति अनुकूलन

SELECT t1.FileName, t1.CreatedDate, t2.CreatedDate as PrevCreatedDate
FROM 
   (SELECT FileName, CreateDate,
          ROW_NUMBER() OVER(PARTITION BY FileName ORDER BY CreatedDate) AS OrderNo
   FROM MyTable) t1
LEFT JOIN
   (SELECT FileName, CreateDate,
     ROW_NUMBER() OVER(PARTITION BY FileName ORDER BY CreatedDate) AS OrderNo
     FROM MyTable) t2
ON (t1.FileName = t2.FileName AND t1.OrderNo = t2.OrderNo - 1)

या 'साथ' का बेहतर उपयोग हो सकता है, क्योंकि प्रश्न समान हैं:

WITH t(ObjectID, FileName, CreatedDate, OrderNo) AS
   (SELECT ObjectID, FileName, CreatedDate,
          ROW_NUMBER() OVER(PARTITION BY FileName ORDER BY CreatedDate) AS OrderNo
   FROM MyTable) 
SELECT t1.ObjectID, t1.FileName, t1.CreatedDate, t2.CreatedDate AS PrevCreatedDate,
        DATEDIFF("SS", '1900-01-01 00:00:00', 
           COALESCE((t1.CreatedDate - t2.CreatedDate),0)) AS secondsTaken
FROM t t1 LEFT JOIN t t2 
ON (t1.FileName = t2.FileName AND t1.OrderNo = t2.OrderNo + 1)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. प्राथमिक कुंजी छँटाई

  2. दो डेटाबेस के बीच विदेशी कुंजी संबंध जोड़ें

  3. SQL सहसंबद्ध उपश्रेणी से जुड़ता है जहाँ तालिकाएँ अतिव्यापी श्रेणियों से संबंधित होती हैं

  4. एक ही स्टोर प्रक्रिया में 3 अपडेट का उपयोग करना? छोटी त्रुटि

  5. एसएसआईएस में अस्थायी तालिकाओं का उपयोग करना