Снимаю. Порчу.
С нами с 25.12.99
Сообщения: 1234
Рейтинг: 786
|
Добавлено: 21/06/06 в 17:18 |
Как сделать запрос что бы при выдаче по определенным значениям поля, первыми шли записи определенного поля, например нужно найти записи со значением поля 15, 49, 157, 302, но что бы первыми шли записи со значением поля 157.
SELECT FROM table WHERE f=15 OR f=49 OR f=157 OR f=302 ORDER BY ....
можно ли так вообше сделать средствами SQL? .. то что потом можно отсортировать я знаю..
|
|
|
|
full-plastic programmist
С нами с 05.09.03
Сообщения: 8361
Рейтинг: 4779
|
Добавлено: 21/06/06 в 17:52 |
в данном случае можно попробовать сортировать по остатку от деления значения поля на 160 ;)
правда я не знаю как это в синтаксисе МуСКЛ записать, и можно ли вообще...
|
|
вот соскучился по мастеру...
|
1
|
|
|
www.awm-tools.com
С нами с 28.01.04
Сообщения: 2941
Рейтинг: 3056
|
Добавлено: 21/06/06 в 18:02 |
ИМХО для обобщенного решения данного вопроса без stored procedure здесь не обойтись.
|
|
|
|
С нами с 06.03.03
Сообщения: 1650
Рейтинг: 1096
|
Добавлено: 21/06/06 в 18:10 |
если я правильно понял условие - у тебя есть заранее известный набор f, и известен f, который должен идти первым, так? если так, то можно попробовать такую конструкцию:
... ORDER BY f=157 DESC
т.е. получится что выражение f=157 вернет 1 только в одном случае, соответственно все остальные будут = 0. Получится что мускуль будет сортировать данные по значениям, где все нули и одна единица. И вот как раз запись, содержащая единицу будет перемещена в начало списка при сортировке.
PS это теоритически, на практике не пробовал.
PPS перечитал щас условие, я помоему ошибся, у тебя f=157 может содержаться не один раз, а несколько. Но смысл от этого не меняется.
|
|
|
|
www.phpdevs.com
С нами с 24.10.02
Сообщения: 16633
Рейтинг: 16105
|
Добавлено: 21/06/06 в 18:15 |
SELECT IF(f=157,1,0) AS _requested ORDER BY _requested DESC
Дальше сам дополнишь нужными выборками и сортировками
|
|
Пишу на php/mysql/django за вменяемые деньги.
Обращаться в личку.
|
6
|
|
|
Снимаю. Порчу.
С нами с 25.12.99
Сообщения: 1234
Рейтинг: 786
|
Добавлено: 21/06/06 в 18:39 |
webboxxx на практике тоже работает  так как мне и надо, спасиба
Stek и тебе спасиб  , такая конструкция правда работает немного медленнее, я кстати ее уже раньше как-то видел, а тут забыл..
|
|
|
|
Текстовая реклама в форме ответа Заголовок и до четырех строчек текста Длина текста до 350 символов Купить рекламу в этом месте! |