Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

TSQL Pilih baris Min &Max saat mengelompokkan

Anda dapat melakukannya sekaligus menggunakan fungsi jendela :

; 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)

Dan inilah contoh 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 Server - Query sysobjects

  2. Pemeriksaan Kesehatan SQL Server Proaktif, Bagian 2:Pemeliharaan

  3. SQL Server Geography tipe data titik terdekat secara online

  4. Tidak dapat memotong tabel karena direferensikan oleh batasan KUNCI ASING - Tutorial SQL Server / TSQL Bagian 70

  5. Bagaimana saya bisa menyelesaikan Parameter @objname ambigu atau @objtype (COLUMN) yang diklaim salah.?