Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Сортировка сгрупированных записей  [new]
MLans
Member

Откуда:
Сообщений: 396
Здравствуйте, у меня есть несгрупированная таблица отсортированная по имени таблица


name | sorting_order
Иван 1
Иван 2
Иван 3
Петя 4
Петя 5
Саша 6

как мне ее преобразить в сгрупированный список


name | sorting_order
Иван 1
Петя 2
Саша 3


или хотя бы оставить только первые записи,

name | sorting_order
Иван 1
Петя 4
Саша 6


Спасибо!
29 июн 16, 19:11    [19351627]     Ответить | Цитировать Сообщить модератору
 Re: Сортировка сгрупированных записей  [new]
3unknown
Member

Откуда: New York
Сообщений: 140
declare @table as table(name varchar(15),sorting_order int )

insert @table
select 'Ivan',1
union
select 'Ivan',2
union
select 'Ivan',3
union
select 'Petia',4
union
select 'Petia',5
union
select 'Sasha',6
union
select 'Sasha',7

select top 1 with ties *
from @table
order by row_number() over(partition by name order by sorting_order)
29 июн 16, 19:18    [19351652]     Ответить | Цитировать Сообщить модератору
 Re: Сортировка сгрупированных записей  [new]
3unknown
Member

Откуда: New York
Сообщений: 140
declare @table as table(name varchar(15),sorting_order int )

insert @table
select 'Ivan',1
union
select 'Ivan',2
union
select 'Ivan',3
union
select 'Petia',4
union
select 'Petia',5
union
select 'Sasha',6
union
select 'Sasha',7

select top 1 with ties name
,dense_rank() over(order by name) as sorting_order
from @table
order by row_number() over(partition by name order by sorting_order)
29 июн 16, 19:24    [19351668]     Ответить | Цитировать Сообщить модератору
 Re: Сортировка сгрупированных записей  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7868
declare @t table (f1 char(10), f2 int)
insert @t (f1,f2) values ('Иван', 1),('Иван', 2),('Иван', 3),('Петя', 4),('Петя', 5),('Саша', 6)

;with tbl1 as (
select distinct f1 from @t
)
select f1, ROW_NUMBER() over( order by f1) f2 from tbl1
30 июн 16, 14:45    [19354862]     Ответить | Цитировать Сообщить модератору
 Re: Сортировка сгрупированных записей  [new]
SerGrr1898
Member

Откуда:
Сообщений: 7
SELECT name, ROW_NUMBER() OVER(ORDER BY name )
FROM @table
group BY name
30 июн 16, 16:16    [19355688]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить