![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 09.08.2011
Сообщений: 4
|
![]()
можно ли сделать следующее:
что бы после запроса был id=0 вначале выдачи, а остальные отсортированы в обратном порядке (DESC) делал так: SELECT * FROM `table1` WHERE id = 0 UNION SELECT * FROM `table1` WHERE id > 0 ORDER BY id DESC но сортировка идет по всему |
![]() |
![]() |
![]() |
#2 |
Регистрация: 09.08.2011
Сообщений: 4
|
![]()
пока писал дошло, что в скобки надо второй селект с сортировкой поставить
SELECT * FROM `table1` WHERE id =0 UNION ( SELECT * FROM `table1` WHERE id >0 ORDER BY id DESC LIMIT 0, 30 ) почему-то только с LIMIT работает Последний раз редактировалось dan-leech; 09.08.2011 в 21:47. |
![]() |
![]() |
![]() |
#3 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
![]()
Если сильно извратиться и есть знание того что, id всегда меньше 1000000, то можно так (лишнее вычисляемое поле NegativId потянется)
Код:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Последний раз редактировалось Аватар; 09.08.2011 в 23:24. |
![]() |
![]() |
![]() |
#4 |
Регистрация: 09.08.2011
Сообщений: 4
|
![]()
Так не хочет вообще работать.
Да использую MySQL. NegativId в таблице не должно присутствовать? А можно поподробнее в чем хаотичность UNION заключается? |
![]() |
![]() |
![]() |
#5 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
![]()
NegativId - просто назвал так вычисляемое поле. В таблице быть не должно. А в чем заключается нежелание работать? Ошибку какую выдает? UNION без объединяющего ORDER BY дает строки в общем случае не упорядоченные, иногда может сортировка совпасть с желаемой, иногда нет. Опираться на вами предложенный вариант нельзя, если важна сортировка. Можно и так попробовать
Код:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Последний раз редактировалось Аватар; 10.08.2011 в 00:27. |
![]() |
![]() |
![]() |
#6 |
Регистрация: 09.08.2011
Сообщений: 4
|
![]()
Спасибо!
Заработало так: SELECT CASE WHEN `id` =0 THEN -1000000 ELSE - `id` END id,short FROM `table` ORDER BY 1 со звездочкой не хочет |
![]() |
![]() |
![]() |
#7 |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,543
|
![]() Код:
программа — запись алгоритма на языке понятном транслятору
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как сделать Элемент "список" на основе запроса вертикальным? | d_adilet | Microsoft Office Access | 3 | 13.05.2011 07:25 |
Матрица. Посчитать количество строк, содержащих хотя бы один нулевой элемент | Геля007 | Общие вопросы C/C++ | 0 | 02.06.2010 16:17 |
Вынести слова по маске | SKth | Microsoft Office Word | 5 | 14.12.2009 22:37 |
Нулевой массив? | mutabor | Общие вопросы Delphi | 2 | 08.12.2009 18:07 |
первый нулевой элемент массива | shelest | Помощь студентам | 2 | 15.11.2009 12:38 |