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

टी-एसक्यूएल:मैक्स (अन्य कॉलम) के आधार पर कॉलम का चयन करना

स्वयं शामिल होने का उपयोग करना:

यह उन सभी मानों को उपकुंजी मानों के साथ वापस कर देगा जो गुणक होने की स्थिति में मेल खाते हैं।

SELECT a.value
  FROM TABLE a
  JOIN (SELECT MAX(t.subkey) AS max_subkey
          FROM TABLE t
         WHERE t.key = 1) b ON b.max_subkey = a.subkey
 WHERE a.key = 1

रैंक और सीटीई (एसक्यूएल सर्वर 2005+) का उपयोग करना:

यह उन सभी मानों को उपकुंजी मानों के साथ वापस कर देगा जो गुणक होने की स्थिति में मेल खाते हैं।

WITH summary AS (
  SELECT t.*,
         RANK() OVER(ORDER BY t.subkey DESC) AS rank
    FROM TABLE t
   WHERE t.key = 1)
SELECT s.value
  FROM summary s
 WHERE s.rank = 1

ROW_NUMBER और CTE (SQL सर्वर 2005+) का उपयोग करना:

यह एक पंक्ति लौटाएगा, भले ही समान उपकुंजी मान वाले एक से अधिक हों...

WITH summary AS (
  SELECT t.*,
         ROW_NUMBER() OVER(ORDER BY t.subkey DESC) AS rank
    FROM TABLE t
   WHERE t.key = 1)
SELECT s.value
  FROM summary s
 WHERE s.rank = 1

टॉप का उपयोग करना:

यह एक पंक्ति लौटाएगा, भले ही समान उपकुंजी मान वाले एक से अधिक हों...

  SELECT TOP 1
         t.value
    FROM TABLE t
   WHERE t.key = 1
ORDER BY t.subkey DESC


  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. SQL सर्वर में वर्तमान सत्र के लिए दिनांक स्वरूप बदलें

  3. निर्दिष्ट नाम वाले कॉलम वाली सभी तालिकाएँ खोजें - MS SQL सर्वर

  4. SQL सर्वर आंतरिक:समस्याग्रस्त ऑपरेटर्स पं। मैं - स्कैन

  5. स्थानीय डीबी को अलग से कैसे स्थापित करें?