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

Как да добавите пореден номер за групи в SQL заявка без временни таблици

Примерни данни

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

Заявка

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

Изход

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. STRING_SPLIT() в SQL Server 2016:Продължение №1

  2. Консолидиране на екземпляр на SQL Server чрез клъстериране и подреждане

  3. Име на файл за абонамент за SSRS с дата

  4. Съхранените процедури заключват ли таблици/редове?

  5. Сравнение на SQL низове, по-голямо и по-малко от операторите