powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Есть вопрос по сортировке
12 сообщений из 12, страница 1 из 1
Есть вопрос по сортировке
    #39827606
DenVVMN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!

Есть задача сортировки на
Microsoft SQL Server 2014 - 12.0.4213.0 (X64)

Необходимо отсортировать таблицу вида

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
select * from 
(
select 'AA' n,9 a union all
select 'AA' n,2 union all
select 'BB' n,12 union all
select 'BB' n,5 union all
select 'CC' n,11 union all
select 'CC' n,10
) t



таким образом, чтобы значения групп, объединенных полем [n] шли по убыванию значения я.
Группы также сортируются по убыванию значения а
(тяжело сформулировать)
результат сортировки примера должен быть:

naBB12BB5CC11CC10AA9AA2

пока не получается придумать достойного решения. Требуется помощь.
...
Рейтинг: 0 / 0
Есть вопрос по сортировке
    #39827608
Фотография Щукина Анна
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DenVVMN,

оконные функции. max() over(partition by )
...
Рейтинг: 0 / 0
Есть вопрос по сортировке
    #39827609
Фотография Щукина Анна
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Щукина Анна,

если точнее, и дословно, то:
Код: sql
1.
2.
<тут ваш запрос>
order by max(a) over(partition by n) desc, a desc
...
Рейтинг: 0 / 0
Есть вопрос по сортировке
    #39827624
iap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Щукина АннаЩукина Анна,

если точнее, и дословно, то:
Код: sql
1.
2.
<тут ваш запрос>
order by max(a) over(partition by n) desc, a desc

Так не пойдёт. А если одинаковый максимум в двух или трёх группах?
Код: sql
1.
order by max(a) over(partition by n) desc, n desc, a desc
...
Рейтинг: 0 / 0
Есть вопрос по сортировке
    #39827625
Фотография Щукина Анна
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iap,

спросите у автора, что ему в этом случае нужно и почему... ;)
...
Рейтинг: 0 / 0
Есть вопрос по сортировке
    #39827626
Фотография Щукина Анна
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iap,

думается, автору хватит ума вставить "промежуточную" сортировку по n между двумя по a...
...
Рейтинг: 0 / 0
Есть вопрос по сортировке
    #39827627
iap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Щукина Аннаiap,

спросите у автора, что ему в этом случае нужно и почему... ;)Я вижу, что все записи одной и той же группы идут подряд.
А в вашем случае они могут перемешиваться, если максимальное значение в этих группах совпадает.
...
Рейтинг: 0 / 0
Есть вопрос по сортировке
    #39827628
Фотография Щукина Анна
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iap,

оу, собственно, вы всё за автора и сделали...
...
Рейтинг: 0 / 0
Есть вопрос по сортировке
    #39827631
Фотография Щукина Анна
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iap,

думается, автору нужен был принципиальный пинок, именно про max() over().
остальное он бы и сам допер как сделать. но дело ваше - можно, конечно, совсем уж всё разжёвывать до состояния каши...
...
Рейтинг: 0 / 0
Есть вопрос по сортировке
    #39827641
DenVVMN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Щукина Анна,

спасибо, то что нужно!
...
Рейтинг: 0 / 0
Есть вопрос по сортировке
    #39827643
Фотография Щукина Анна
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DenVVMN,

не забудьте учесть весьма дельные и "по месту" замечания от iap-а... особенно при неуникальных максимумах по a среди разных n
...
Рейтинг: 0 / 0
Есть вопрос по сортировке
    #39827647
DenVVMN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
iap,
Спасибо за конструктив.
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Есть вопрос по сортировке
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]