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

Откуда: 142000
Сообщений: 12331
табличка

create table #Tmp (id int, flag int)
insert into #Tmp (id, flag) values (1,  1)
insert into #Tmp (id, flag) values (2,  1)
insert into #Tmp (id, flag) values (3,  1)
insert into #Tmp (id, flag) values (4,  1)
insert into #Tmp (id, flag) values (5,  1)
insert into #Tmp (id, flag) values (6,  1)
insert into #Tmp (id, flag) values (7,  2)
insert into #Tmp (id, flag) values (8,  2)
insert into #Tmp (id, flag) values (9,  3)
insert into #Tmp (id, flag) values (10, 3)
insert into #Tmp (id, flag) values (11, 3)

Подскажите, как написать такой хитрый order by чтобы записи отсортировать в порядке, чередующемся по полю flag, то-есть вот так:

(1,  1)
(7,  2)
(9,  3)
(2,  1)
(8,  2)
(10, 3)
(3,  1)
(11, 3)
(4,  1)
(5,  1)
(6,  1)

???

Картинка с другого сайта.
30 июн 11, 14:31    [10899816]     Ответить | Цитировать Сообщить модератору
 Re: Сортировка в чередующемся порядке  [new]
daw
Member

Откуда: Муром -> Москва
Сообщений: 7381

select *
from #Tmp
order by row_number() over (partition by flag order by id), id

Posted via ActualForum NNTP Server 1.4

30 июн 11, 14:35    [10899866]     Ответить | Цитировать Сообщить модератору
 Re: Сортировка в чередующемся порядке  [new]
Искатель закономерностей
Guest
DarkCat,

А какая-то закономерность или принцип при чередовании есть ?
30 июн 11, 14:38    [10899894]     Ответить | Цитировать Сообщить модератору
 Re: Сортировка в чередующемся порядке  [new]
.NET
Member

Откуда: Москва->Петушки
Сообщений: 8258
Что то я не понял.
а так шо?

select *
from #Tmp
order by flag, id
30 июн 11, 15:19    [10900383]     Ответить | Цитировать Сообщить модератору
 Re: Сортировка в чередующемся порядке  [new]
.NET
Member

Откуда: Москва->Петушки
Сообщений: 8258
ааа понял так не покатит )))
30 июн 11, 15:20    [10900394]     Ответить | Цитировать Сообщить модератору
 Re: Сортировка в чередующемся порядке  [new]
DarkCat
Member

Откуда: 142000
Сообщений: 12331
daw,

спасибо, то что нужно!
30 июн 11, 17:26    [10901878]     Ответить | Цитировать Сообщить модератору
 Re: Сортировка в чередующемся порядке  [new]
DarkCat
Member

Откуда: 142000
Сообщений: 12331
Искатель закономерностей, ну кагбе закономерность в том что вверх всплывает максимально репрезентативная выборка.

.NET, да, прокатывает ответ из Мурома, данный на 4 минуте обсуждения
30 июн 11, 17:32    [10901923]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить