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

किसी निर्दिष्ट दिनांक या निकटतम दिनांक <निर्दिष्ट दिनांक के लिए मान वापस करने के लिए आप SQL का उपयोग कैसे कर सकते हैं?

आप कुछ इस तरह की कोशिश कर सकते हैं:

SELECT date, grp, id
    , (SELECT TOP 1 price
       FROM price_table P2
       WHERE P1.id = P2.id
       AND P1.grp = P2.grp
       AND P2.date <= P1.date
       ORDER BY P2.date DESC)
FROM price_table P1
WHERE P1.date IN ('12/31/2009', '11/30/2009')
AND P1.grp IN ('Group1')

संपादित करें प्रत्येक माह, समूह और आईडी का अंतिम रिकॉर्ड प्राप्त करने के लिए आप इसे आजमा सकते हैं:

SELECT date, grp, id, price
FROM price_table P1
WHERE P1.date = (SELECT MAX(date)
                 FROM price_table P2
                 WHERE P1.grp = P2.grp
                 AND P1.id = P2.id
                 AND YEAR(P1.date) = YEAR(P2.date)
                 AND MONTH(P1.date) = MONTH(P2.date))
AND P1.grp In ('Group1')


  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 सर्वर में पारदर्शी डेटा एन्क्रिप्शन (TDE)

  2. मेमोरी OleDb में एक्सेल फाइल से कनेक्शन

  3. NOLOCK का उपयोग कब करना उचित है?

  4. टी-एसक्यूएल में गोल मिलीसेकंड

  5. टेबल वैल्यूड पैरामीटर:छोटे टुकड़ों में डेटा भेजना