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

क्या SQL सर्वर में कोई मैक्स फ़ंक्शन है जो .NET में Math.Max ​​जैसे दो मान लेता है?

यदि आप SQL Server 2008 (या ऊपर) का उपयोग कर रहे हैं, तो यह बेहतर समाधान है:

SELECT o.OrderId,
       (SELECT MAX(Price)
        FROM (VALUES (o.NegotiatedPrice),(o.SuggestedPrice)) AS AllPrices(Price))
FROM Order o

सभी क्रेडिट और वोट संबंधित प्रश्न के स्वेन के उत्तर पर जाने चाहिए, "मल्टीपल कॉलम का SQL MAX?"
मैं कहता हूं कि यह "सर्वश्रेष्ठ उत्तर है "क्योंकि:

  1. इसे आपके कोड को UNION's, PIVOT's, UNPIVOT's, UDF's, और क्रेज़ी-लॉन्ग CASE स्टेटमेंट्स के साथ जटिल बनाने की आवश्यकता नहीं है।
  2. यह नल को संभालने की समस्या से ग्रस्त नहीं है, यह उन्हें ठीक से संभालता है।
  3. "MAX" को "MIN", "AVG" या "SUM" से बदलना आसान है। आप कई अलग-अलग स्तंभों पर कुल योग खोजने के लिए किसी भी समग्र फ़ंक्शन का उपयोग कर सकते हैं।
  4. आप मेरे द्वारा उपयोग किए जाने वाले नामों तक सीमित नहीं हैं (अर्थात "सभी मूल्य" और "मूल्य")। अगले लड़के के लिए पढ़ने और समझने में आसान बनाने के लिए आप अपना खुद का नाम चुन सकते हैं।
  5. आप SQL Server 2008 के व्युत्पन्न_टेबल्स का उपयोग करके कई समुच्चय ढूंढ सकते हैं जैसे:
    MAX(a), MAX(b) FROM (VALUES (1, 2), (3, 4), (5, 6) चुनें। , (7, 8), (9, 10)) AS MyTable(a, b)


  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 सर्वर में टेबल-वैल्यूड फ़ंक्शन को बदलें

  2. SQL सर्वर एकाधिक पंक्ति प्रविष्टियों पर काम करने के लिए एक ट्रिगर

  3. एसक्यूएल सर्वर (टी-एसक्यूएल) में 'डेट' को 'स्मॉलडेटटाइम' में बदलने के उदाहरण

  4. एक सामान्य एमएस एसक्यूएल सर्वर प्रदर्शन संकेतक लागू करना

  5. गलत रचनाक्रम पास के ''