sql >> Database >  >> RDS >> Sqlserver

Volgnummer toevoegen voor groepen in een SQL-query zonder tijdelijke tabellen

Voorbeeldgegevens

create table sometable([group] varchar(10), id int, somedata int)
insert sometable select 'Horses', 9, 11
insert sometable select 'chickens', 19, 121
insert sometable select 'Horses', 29, 123
insert sometable select 'chickens', 49, 124
insert sometable select 'Cows', 98, 1
insert sometable select 'Horses', 99, 2

Zoekopdracht

select
    Record = ROW_NUMBER() over (order by [Group], id),
    [Group],
    GroupSequence = DENSE_RANK() over (order by [Group])
from sometable

Uitgang

Record               Group      GroupSequence
-------------------- ---------- --------------------
1                    chickens   1
2                    chickens   1
3                    Cows       2
4                    Horses     3
5                    Horses     3
6                    Horses     3


  1. ORA-03113:einde bestand op communicatiekanaal

  2. php / Mysql beste boomstructuur

  3. In mysql welke inner join sql is het meest effectief en het beste?

  4. ScaleGrid DBaaS breidt MySQL-hostingservices uit via AWS Cloud