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

स्वयं शामिल होने के साथ एसक्यूएल क्वेरी

WITH ranked AS (
  SELECT
    *,
    rn = ROW_NUMBER() OVER (PARTITION BY RecId ORDER BY Dt DESC)
  FROM TableA
)
SELECT
  r1.Id,
  r1.Dt,
  r1.Stat,
  r1.RecId
FROM ranked r1
  INNER JOIN ranked r2 ON r1.RecId = r2.RecId AND r2.rn = 1
WHERE r1.Stat = 2

अपडेट करें प्रश्न के अद्यतन के बाद

WITH ranked AS (
  SELECT
    *,
    rn = ROW_NUMBER() OVER (PARTITION BY RecId ORDER BY Dt DESC)
  FROM TableA
)
SELECT
  Id,
  Dt,
  Stat,
  RecId
FROM ranked
WHERE Stat = 2 AND rn = 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. क्या आप SQL सर्वर 2005 संग्रहीत प्रक्रिया सामग्री खोज सकते हैं?

  2. SQL सर्वर 2012 पूर्ण-पाठ खोज स्थापित करें या जोड़ें

  3. एसक्यूएल सर्वर में एक चर में संग्रहीत प्रक्रिया के आउटपुट को कैसे वापस करें?

  4. मैं टी-एसक्यूएल में एक पंक्ति के रूप में एकाधिक पंक्तियों को कैसे वापस कर सकता हूं?

  5. मैं संग्रहीत कार्यविधि से डेटाटेबल में तालिका कैसे प्राप्त कर सकता हूं?