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

समूह बनाते समय TSQL न्यूनतम और अधिकतम पंक्ति का चयन करें

आप इसे एक बार में विंडो फ़ंक्शन का उपयोग करके कर सकते हैं। :

; with ordering as (
  SELECT max([Range]) AS 'Range'
     , count(ID) AS 'Count'
     , round(avg([Profit]), 2) AS 'AVG Profit'
     , row_number() over (order by avg([Profit])) rn_min
     , row_number() over (order by avg([Profit]) desc) rn_max
    FROM
        Orders
    GROUP BY
        Range_begining
    HAVING COUNT(ID) > 10
)
select [range], [count], [avg profit],
       case when rn_max = 1 
            then 'Max profit'
            else 'Min profit'
        end Description
  from ordering
 where (rn_max = 1 or rn_min = 1)

और यहां Sql Fiddle उदाहरण है



  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. एंटिटी फ्रेमवर्क - वन-टू-वन - रेफरेंशियल कॉन्स्ट्रेन्ट को स्टोर-जनरेटेड कॉलम में मैप किया जाता है

  3. Microsoft SQL सर्वर में लॉगिन करें त्रुटि:18456

  4. SQL 2008 लिंक्ड सर्वर एक्सेस अस्वीकृत त्रुटि का लाभ

  5. SQL सर्वर 2008 - सरल INSERT ट्रिगर लिखने में मदद करें