Форум программистов, компьютерный форум, киберфорум
Oracle
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.93/15: Рейтинг темы: голосов - 15, средняя оценка - 4.93
174 / 160 / 71
Регистрация: 22.02.2013
Сообщений: 1,769
Записей в блоге: 2
1

Сортировка по 2-ум полям

10.09.2015, 12:42. Показов 2843. Ответов 12
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем привет!
Подскажите как правильно отсортировать по 2-м полям.
если поле Range = null то сортировать по ball. Сортировать по убыванию

SQL
1
2
ORDER BY CASE WHEN Range   IS NOT NULL THEN  ( Range   )  END DESC 
WHEN Range    IS NULL THEN           ( ball)  END DESC;

Добавлено через 1 минуту
и еще оба этих поля строка - а надо сортировать как число
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.09.2015, 12:42
Ответы с готовыми решениями:

Сортировка постов по произвольным полям ACF. В разных рубриках по разным полям
Всем доброго дня! Не могу понять каким образом можно реализовать сортировку постов в разных...

Сортировка по полям
Можно ли отсортировать объекты по нескольким полям?? class Person implements...

Сортировка по 2 полям
Собственно проблема встала в двойной сортировке. Суть - получить 5 человек из базы, которые не...

Сортировка данных по 2 полям
Как отсортировать данные в таблице по двум полям?

12
Модератор
4217 / 3058 / 583
Регистрация: 21.01.2011
Сообщений: 13,205
10.09.2015, 12:58 2
Цитата Сообщение от NotBeginner Посмотреть сообщение
и еще оба этих поля строка - а надо сортировать как число
Дык преобразуй в число, какие проблемы? И почему не подходит просто
SQL
1
ORDER BY range DESC, ball DESC
0
11 / 11 / 7
Регистрация: 23.07.2015
Сообщений: 62
10.09.2015, 13:54 3
Oracle 11 SQL
1
ORDER BY TO_NUMBER(COALESCE(RANGE,ball,0)) DESC
но если в поле будет не число, то ругнется
0
174 / 160 / 71
Регистрация: 22.02.2013
Сообщений: 1,769
Записей в блоге: 2
10.09.2015, 14:42  [ТС] 4
Цитата Сообщение от Grossmeister Посмотреть сообщение
ORDER BY range DESC, ball DESC
такой вариант не правильно работает
выводит
range ball
null 40
null 38
88 76
87 90
87 87

а надо
range ball
88 76
87 90
87 87
null 40
null 38
0
Модератор
4217 / 3058 / 583
Регистрация: 21.01.2011
Сообщений: 13,205
10.09.2015, 15:22 5
Цитата Сообщение от NotBeginner Посмотреть сообщение
такой вариант не правильно работает
Погугли насчет кляузы NULLS FIRST / NULLS LAST
1
22 / 20 / 3
Регистрация: 21.05.2013
Сообщений: 408
15.09.2015, 14:27 6
NotBeginner, order by range desc,ball desc
Должно работать.

Добавлено через 4 минуты
Кхм спрошу глупость а вот это null оно в поле у вас буквами написано "null" или это всё верно пустое значение?

Добавлено через 3 минуты
А пробелы присутствуют в этих полях??
В общем так используйте Char number и trim в добавок чтобы привести поля в нормальную форму а дальше уже сортируйте как положено.
1
174 / 160 / 71
Регистрация: 22.02.2013
Сообщений: 1,769
Записей в блоге: 2
15.09.2015, 14:51  [ТС] 7
Цитата Сообщение от StalkerIQ Посмотреть сообщение
Кхм спрошу глупость а вот это null оно в поле у вас буквами написано "null" или это всё верно пустое значение?
Null там
0
22 / 20 / 3
Регистрация: 21.05.2013
Сообщений: 408
15.09.2015, 16:09 8
NotBeginner,
Цитата Сообщение от NotBeginner Посмотреть сообщение
Null там
Господи до смешного же опять... Из этого ответа не понятно что там есть.
Вы мне скажите "буквами" или "Не буквами".
Если буквами то используйте case WHEN Range like '%null%' в вашем первом посте.
0
Модератор
4217 / 3058 / 583
Регистрация: 21.01.2011
Сообщений: 13,205
15.09.2015, 16:11 9
Цитата Сообщение от StalkerIQ Посмотреть сообщение
Вы мне скажите "буквами" или "Не буквами"
А что, бывают случаи, когда null пишут буквами? Ни разу не встречал
0
22 / 20 / 3
Регистрация: 21.05.2013
Сообщений: 408
15.09.2015, 16:19 10
Может вы не знаете null это обозначение пустой ячейки и в нём ничего не должно быть то есть "пусто" поэтому я и уточняю что у вас там.
Where Range IS NOT NULL выдаёт все строки где рендж НЕ с пустой ячейкой (тоесть вобще любое значение хоть буквы хоть цыфры хоть знаки любое отличное от пустого)
Where Range IS NULL выдаёт все строки где рендж с пустой ячейкой (нет ни одного значения в ячейке)

Добавлено через 5 минут
Grossmeister, у меня на работе было две таблицы созданные не мной у него по умолчанию строка равнялась null ) и запрос искал эти null пришлось всё исправлять )))
0
Модератор
4217 / 3058 / 583
Регистрация: 21.01.2011
Сообщений: 13,205
15.09.2015, 16:21 11
Цитата Сообщение от StalkerIQ Посмотреть сообщение
Может вы не знаете null это обозначение пустой ячейки
Ну человек же еще в первом посте пробовал использовать IS NULL. Значит речь идет о классическом NULL

Добавлено через 1 минуту
Цитата Сообщение от StalkerIQ Посмотреть сообщение
у него по умолчанию строка равнялась null
Видимо проектировщик был новичок
0
22 / 20 / 3
Регистрация: 21.05.2013
Сообщений: 408
15.09.2015, 16:22 12
Grossmeister, если у него не работает ORDER BY range DESC, ball DESC
значит там текстом написано.

Добавлено через 24 секунды
Я такие выводы сделал ))
0
Модератор
4217 / 3058 / 583
Регистрация: 21.01.2011
Сообщений: 13,205
15.09.2015, 16:32 13
Цитата Сообщение от StalkerIQ Посмотреть сообщение
значит там текстом написано
Не значит. Если там есть NULL значения, то они могут размещаться либо в начале списка, либо в конце. Как этим управлять, я написал.

SQL Reference
NULLS FIRST | NULLS LAST Specify whether returned rows containing null
values should appear first or last in the ordering sequence.

NULLS LAST is the default for ascending order, and NULLS FIRST is the default for descending order
0
15.09.2015, 16:32
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.09.2015, 16:32
Помогаю со студенческими работами здесь

Сортировка по полям структуры
Необходимо сортировать параграфы по возрастанию. Структура имеет вид: struct gloss { char...

Одновременная сортировка по 2 полям
Здравствуйте! Подскажите, как решить такую задачу. Есть БД, в ней таблица "рейтинг" со...

Сортировка по двум полям
Здравствуйте, уважаемые! Есть такой map частотный словарь: 155 hello 74 welcome 50 ...

Сортировка по нескольким полям
Здравствуйте, уважаемые программисты. Ребята, возникла такая сложность, вроде бы и несложный...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru