







|
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,
версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
16955
|
|