Новости
Документация
Download
Webboard
Поиск
FAQ/ЧаВо
Обратная связь




MySQL.RU - Webboard



Вернуться
Выборка с нестандартной сортировкой. (sol) 31/08/2004 - 20:17:53
      Re: Вроде нашол ответ. Но теперь другой вопрос. (sol) 31/08/2004 - 22:23:26

> Original message text:
> From: sol - 31/08/2004 - 20:17:53
> Subject:Выборка с нестандартной сортировкой.
> -----------------
> Задача в следующем.
>
> Есть поле допустим id
> Есть значения в базе
> 8
> 10
> 5
> 6
> 10
> 5
> 7
> 8
> То есть они могу повторятя. Надо сделать выборку с сортировкой по этому ид, но не по убыванию или возрастанию, а по определенной закономерности которая известна.
> Допустим у меня есть последовательность 3, 9, 7, 50, 5, 10, 22, 6, 8. В последователности могут быть несуществующие цыфры. И при это последовательности должен получится вот такой результат.
> 7
> 5
> 5
> 10
> 10
> 6
> 8
> 8
>
> Это выборку нужно сделать одним запросом.
>


From: sol - 31/08/2004 - 22:23:26
Subject:Вроде нашол ответ. Но теперь другой вопрос.
-----------------
вот такой запрос получается.
SELECT * FROM `table` ORDER BY FIND_IN_SET( concat( "a", `pair_id` ) , "a3,a9,a7,a50,a5,a10,a22,a6,a8" ) asc

вроде работает. теперь встала друга проблема. мне ещё нужно вторичная сортировка. То есть есть поле допустим summ. Так вот с некоторыми числами из последовательности нужно по прибыванию сортировать, а с некторыми по убыванию. То для цифр 9, 50, 22, 8 нужно по asc, а по остальным desc
Типа такого запроса
SELECT * FROM `table` ORDER BY FIND_IN_SET( concat( "a", `pair_id` ) , "a3,a9,a7,a50,a5,a10,a22,a6,a8" ) asc, `summ` "desc or asc"

Кстати по первому варианту может кто лучше вариант предложит





[Это сообщение - спам!]

Последние сообщения из форума

Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL, версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
 Имя:
 E-mail:
 Тема:
 Текст:
Код подтверждения отправки: Code
16955



РЕКЛАМА НА САЙТЕ
  Создание сайтов | |