sql >> Databasteknik >  >> RDS >> Sqlserver

Hur man får första posten ur varje grupp från resultatet hämtat med hjälp av grupp för kommando

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. Hur skapar man automatisk inkrementering / SERIELL ID-kolumn på DBeaver med PostgreSQL?

  2. MySQL gå med på maxvärde

  3. hämta namn från kommaseparerade ID i SQL

  4. Låser MySql automatiskt rader eller måste jag lägga till lås i delningsläge?