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

Откуда:
Сообщений: 2011
Есть способ отсортировать данные по нескольким столбцам
Фамилия Имя Отчество
______________________
Иванов Иван Иванович
Алекс Иван Иванович
Андреев Алексей Иванович

должно получится
Фамилия Имя Отчество
________________________
Андреев Алексей Иванович
Алекс Иван Иванович
Иванов Иван Иванович

т.е. задать приоритет при сортировки
ORDER BY сортирует только по одному столбуцу?
23 янв 10, 21:39    [8234937]     Ответить | Цитировать Сообщить модератору
 Re: Сортировка по нескольким столбцам SQL-запросом  [new]
iap
Member

Откуда: Москва
Сообщений: 46977
Chek_Fedor,

ну, Вы даёте!
ORDER BY Фамилия, Имя, Отчество;
неужели никогда такое не видели?
23 янв 10, 21:45    [8234954]     Ответить | Цитировать Сообщить модератору
 Re: Сортировка по нескольким столбцам SQL-запросом  [new]
Chek_Fedor
Member

Откуда:
Сообщений: 2011
Видели и пробовали только вот почему-то не сортирует, точнее сортирует но только по фамилии, а остольное игнорирует.
23 янв 10, 21:55    [8234976]     Ответить | Цитировать Сообщить модератору
 Re: Сортировка по нескольким столбцам SQL-запросом  [new]
iap
Member

Откуда: Москва
Сообщений: 46977
Chek_Fedor
Видели и пробовали только вот почему-то не сортирует, точнее сортирует но только по фамилии, а остольное игнорирует.
По "остальным" сортировка работает, если предыдущие поля в списке ORDER BY равны.
Разве это не очевидно?
Почему Вы напсали, что Андреев должен быть перед Алексом? Разве 'н' не больше 'л' (вспоминайте русский алфавит )
Хотя, в данном конкретном случае для Ваших данных желаемый результат получится, если
ORDER BY Имя, Фамилия;
23 янв 10, 22:04    [8234996]     Ответить | Цитировать Сообщить модератору
 Re: Сортировка по нескольким столбцам SQL-запросом  [new]
Chek_Fedor
Member

Откуда:
Сообщений: 2011
Нет Вы меня не поняли сортировка Ф, И, О
Алекс у меня Иваном зовут, а Андреев у меня Алексей поэтому "А" в имени стоит впереди "И"
преоритет первые буквы Ф потом например всех на "А" фамилия ставим вберед этот список сортируем уже по имени
Ф.И.О
_____
А.А.А
А.Б.В
А.В.Г
Б.А.А
Б.В.Б
В.А.Б
23 янв 10, 22:23    [8235047]     Ответить | Цитировать Сообщить модератору
 Re: Сортировка по нескольким столбцам SQL-запросом  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36965
ORDER BY left(Фамилия, 1), left(Имя, 1), left(Отчество, 1);
23 янв 10, 22:26    [8235056]     Ответить | Цитировать Сообщить модератору
 Re: Сортировка по нескольким столбцам SQL-запросом  [new]
Chek_Fedor
Member

Откуда:
Сообщений: 2011
Спасибо, эх надо книжечками разжиться
23 янв 10, 22:35    [8235080]     Ответить | Цитировать Сообщить модератору
 Re: Сортировка по нескольким столбцам SQL-запросом  [new]
так,
Guest
Гавриленко Сергей Алексеевич
ORDER BY left(Фамилия, 1), left(Имя, 1), left(Отчество, 1);


....эээ, а чем это отличается от
ORDER BY Фамилия, Имя, Отчество
?
23 янв 10, 22:36    [8235082]     Ответить | Цитировать Сообщить модератору
 Re: Сортировка по нескольким столбцам SQL-запросом  [new]
iap
Member

Откуда: Москва
Сообщений: 46977
Chek_Fedor
Спасибо, эх надо книжечками разжиться
Регулярно заглядывайте в BOL
23 янв 10, 22:39    [8235089]     Ответить | Цитировать Сообщить модератору
 Re: Сортировка по нескольким столбцам SQL-запросом  [new]
iap
Member

Откуда: Москва
Сообщений: 46977
так,
Гавриленко Сергей Алексеевич
ORDER BY left(Фамилия, 1), left(Имя, 1), left(Отчество, 1);


....эээ, а чем это отличается от
ORDER BY Фамилия, Имя, Отчество
?
Тем, что на сортировку влияют только инициалы. А Вы что подумали?
23 янв 10, 22:40    [8235093]     Ответить | Цитировать Сообщить модератору
 Re: Сортировка по нескольким столбцам SQL-запросом  [new]
так,
Guest
так,
Гавриленко Сергей Алексеевич
ORDER BY left(Фамилия, 1), left(Имя, 1), left(Отчество, 1);


....эээ, а чем это отличается от
ORDER BY Фамилия, Имя, Отчество
?

Chek_Fedor
Нет Вы меня не поняли сортировка Ф, И, О
Алекс у меня Иваном зовут, а Андреев у меня Алексей поэтому "А" в имени стоит впереди "И"
преоритет первые буквы Ф потом например всех на "А" фамилия ставим вберед этот список сортируем уже по имени


осознал )))
23 янв 10, 22:42    [8235105]     Ответить | Цитировать Сообщить модератору
 Re: Сортировка по нескольким столбцам SQL-запросом  [new]
так,
Guest
iap
...
Тем, что на сортировку влияют только инициалы. А Вы что подумали?


да, спасибо
непонял сразу, чего добивается ТС
но назвать подход к сортировке "необычным" - это скромно
рассматривать фамилию как "инициалы" - очень необычно
23 янв 10, 22:46    [8235116]     Ответить | Цитировать Сообщить модератору
 Re: Сортировка по нескольким столбцам SQL-запросом  [new]
так,
Guest
так,
...
но назвать подход к сортировке "необычным" - это скромно
рассматривать фамилию как "инициалы" - очень необычно


...ну просто так и "рвет" посоветовать ТС, не останавливатся на достигнутом
и продолжить вносить "упорядоченность" в данные
ORDER BY left(Фамилия, 1), left(Имя, 1), left(Отчество, 1),
SUBSTRING(Фамилия, 2, 1), SUBSTRING(Имя, 2, 1), SUBSTRING(Отчество, 2, 1),
SUBSTRING(Фамилия, 3, 1), SUBSTRING(Имя, 3, 1), SUBSTRING(Отчество, 3, 1),
-- и т.д.
тут только важно вовремя остановится,
у чукчей вроди как фамилии из 1-ой буквы бывают...
23 янв 10, 23:00    [8235155]     Ответить | Цитировать Сообщить модератору
 Re: Сортировка по нескольким столбцам SQL-запросом  [new]
Chek_Fedor
Member

Откуда:
Сообщений: 2011
Только вот не могу пока понять куда DESC поставить чтобы в обратном порядке отсортировать
24 янв 10, 01:43    [8235489]     Ответить | Цитировать Сообщить модератору
 Re: Сортировка по нескольким столбцам SQL-запросом  [new]
qwerty112
Guest
Chek_Fedor
Только вот не могу пока понять куда DESC поставить чтобы в обратном порядке отсортировать


...а позвольте, нескромный вопрос,
какие у вас есть идеи насчёт "куда DESC поставить"?
вы озвучьте - а уж правильное "подчеркнуть" - найдется кому...
24 янв 10, 02:21    [8235519]     Ответить | Цитировать Сообщить модератору
 Re: Сортировка по нескольким столбцам SQL-запросом  [new]
Chek_Fedor
Member

Откуда:
Сообщений: 2011
Так сортировать отказывается напроч
select * from Table ORDER BY left(SURNAME, 1), left(NAME, 1), left(PATRONYMIC, 1) DESC
А вот так выдает ошибку
select * from Table ORDER BY left(SURNAME, 1) DESC, left(NAME, 1) DESC, left(PATRONYMIC, 1) DESC'
Сортирует только вот так и только один столбец
select * from Table ORDER BY left(SURNAME, 1) DESC
24 янв 10, 02:58    [8235537]     Ответить | Цитировать Сообщить модератору
 Re: Сортировка по нескольким столбцам SQL-запросом  [new]
qwerty112
Guest
в.2 - есть то что вы ищете
только что там за х@ня последним символом?
24 янв 10, 03:09    [8235542]     Ответить | Цитировать Сообщить модератору
 Re: Сортировка по нескольким столбцам SQL-запросом  [new]
iljy
Member

Откуда:
Сообщений: 8711
Chek_Fedor
Так сортировать отказывается напроч
select * from Table ORDER BY left(SURNAME, 1), left(NAME, 1), left(PATRONYMIC, 1) DESC
А вот так выдает ошибку
select * from Table ORDER BY left(SURNAME, 1) DESC, left(NAME, 1) DESC, left(PATRONYMIC, 1) DESC'
Сортирует только вот так и только один столбец
select * from Table ORDER BY left(SURNAME, 1) DESC

declare @t table (a int, b int, c int)

insert @t
select 1,2,1 union all
select 1,2,2 union all
select 1,3,1 union all
select 1,3,2 union all
select 2,1,1 union all
select 2,2,2 union all
select 3,1,3 union all
select 1,3,3 union all
select 1,2,3

select * from @t
order by a+1 desc, b+1 desc, c+1 desc
а так работает. Может все-таки надо посмотреть - какую именно ошибку выдает?
24 янв 10, 03:11    [8235543]     Ответить | Цитировать Сообщить модератору
 Re: Сортировка по нескольким столбцам SQL-запросом  [new]
Chek_Fedor
Member

Откуда:
Сообщений: 2011
Извиняюсь, что-то с Delhi или руками моими случилось. Сортирует да еще как 2-пунктом
select * from Award ORDER BY left(SURNAME, 1) DESC, left(NAME, 1) DESC, left(PATRONYMIC, 1)DESC
24 янв 10, 04:30    [8235573]     Ответить | Цитировать Сообщить модератору
Между сообщениями интервал более 1 года.
 Re: Сортировка по нескольким столбцам SQL-запросом  [new]
felix_ff
Member

Откуда: Moscow
Сообщений: 1364
serega_dgl,

+

Очевидно только одно: что вы не смотрите на дату сообщений.
А там уже скоро 9 лет накапает.
13 ноя 18, 16:23    [21733243]     Ответить | Цитировать Сообщить модератору
 Re: Сортировка по нескольким столбцам SQL-запросом  [new]
iap
Member

Откуда: Москва
Сообщений: 46977
felix_ff
serega_dgl,

+

Очевидно только одно: что вы не смотрите на дату сообщений.
А там уже скоро 9 лет накапает. Картинка с другого сайта.
И я посмотрел тему, всплакнул от умиления и не понял: зачем serega_dgl сегодня повторил моё сообщение от 23.01.2010?
Что он этим хотел сказать?!
13 ноя 18, 17:20    [21733311]     Ответить | Цитировать Сообщить модератору
 Re: Сортировка по нескольким столбцам SQL-запросом  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31354
iap
felix_ff
serega_dgl,

+

Очевидно только одно: что вы не смотрите на дату сообщений.
А там уже скоро 9 лет накапает. Картинка с другого сайта.
И я посмотрел тему, всплакнул от умиления и не понял: зачем serega_dgl сегодня повторил моё сообщение от 23.01.2010?
Что он этим хотел сказать?!
Наверное, набирает посты на SQL.RU для резюме :-)
13 ноя 18, 18:37    [21733441]     Ответить | Цитировать Сообщить модератору
 Re: Сортировка по нескольким столбцам SQL-запросом  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6801
alexeyvg
iap
пропущено...
И я посмотрел тему, всплакнул от умиления и не понял: зачем serega_dgl сегодня повторил моё сообщение от 23.01.2010?
Что он этим хотел сказать?!
Наверное, набирает посты на SQL.RU для резюме :-)

а так можно было? :)
13 ноя 18, 18:44    [21733448]     Ответить | Цитировать Сообщить модератору
 Re: Сортировка по нескольким столбцам SQL-запросом  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31354
TaPaK
alexeyvg
пропущено...
Наверное, набирает посты на SQL.RU для резюме :-)

а так можно было? :)
Конечно, 10 постов юниор, 100 сеньёр. :-)
13 ноя 18, 18:50    [21733463]     Ответить | Цитировать Сообщить модератору
 Re: Сортировка по нескольким столбцам SQL-запросом  [new]
iiyama
Member

Откуда:
Сообщений: 642
ОФФ.
Вот почему ПТ закрыли, на рынке сеньеров конкуренция возникла.
14 ноя 18, 12:07    [21734005]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить