sql >> Databáze >  >> RDS >> Sqlserver

Jak získat první záznam z každé skupiny z výsledku načteného pomocí příkazu group by command

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. Použití předchozí datové složky MySQL na nové instalaci MySQL

  2. Správa rolí a stavů v systému

  3. Jak mohu získat nové ID objektu vygenerované sekvencí DB?

  4. Jak vytvoříte dočasnou tabulku v databázi Oracle?