Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

TSQL Chọn hàng Tối thiểu &Tối đa khi nhóm

Bạn có thể làm điều đó ngay lập tức bằng cách sử dụng chức năng cửa sổ :

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

Và đây là ví dụ về 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 2008:nhập danh sách được phân tách bằng dấu phẩy?

  2. xem các giá trị đã thay đổi sau một tuyên bố cập nhật

  3. Khám phá các ràng buộc khác nhau trong SQL Server

  4. T-SQL:Làm thế nào để sử dụng các tham số trong SQL động?

  5. SQL Server tương đương với DBMS_METADATA.GET_DDL