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

Jak přidat pořadové číslo pro skupiny v dotazu SQL bez dočasných tabulek

Ukázková data

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

Dotaz

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

Výstup

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


  1. Obnovte databázi mysql ze souborů .frm

  2. Jak získat data pro každou hodinu v MySQL

  3. Kompilace PL/Proxy s PostgresPlus Advance Server 9.1

  4. VYŘEŠENO:Microsoft Office 365 verze 2009 může poškodit vaši databázovou aplikaci