Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Как да получите първия запис от всяка група от резултата, извлечен с помощта на група по команда

declare @T table (ID int, GroupID int, Qty int)
insert into @T values
(1, 1, 100),
(2, 1, 200),
(3, 1, 300),
(4, 2, 98),
(5, 2, 198),
(6, 3, 175),
(7, 3, 275),
(8, 3, 375),
(9, 4, 215)

;with cte as
(
  select
    ID,
    GroupID,
    Qty,
    rank() over(partition by GroupID order by ID) as rn
  from @T
)  
select ID, GroupID, Qty
from cte
where rn = 1


  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 Server 2005 заявка

  3. 3 начина за изброяване на всички съхранени процедури в база данни на SQL Server

  4. Предоставяне Изберете на изглед, а не на основна таблица, когато основната таблица е в друга база данни

  5. Проверете дали таблицата съществува и ако не съществува, създайте я в SQL Server 2008