Реклама на сайте Advertise with us

Вопросик по MySQl : SELECT

Расширенный поиск по форуму
 
Новая тема Новая тема   
Автор
Поиск в теме:

Снимаю. Порчу.

С нами с 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? .. то что потом можно отсортировать я знаю..

Свободу Анжеле Дэвис!

0
 

full-plastic programmist

С нами с 05.09.03
Сообщения: 8361
Рейтинг: 4779

Ссылка на сообщениеДобавлено: 21/06/06 в 17:52       Ответить с цитатойцитата 

в данном случае можно попробовать сортировать по остатку от деления значения поля на 160 ;)
правда я не знаю как это в синтаксисе МуСКЛ записать, и можно ли вообще...

вот соскучился по мастеру...

1
 

www.awm-tools.com

С нами с 28.01.04
Сообщения: 2941
Рейтинг: 3056


Передовик Master-X (01.01.2006) Передовик Master-X (16.01.2006) Передовик Master-X (01.03.2006)
Ссылка на сообщениеДобавлено: 21/06/06 в 18:02       Ответить с цитатойцитата 

ИМХО для обобщенного решения данного вопроса без stored procedure здесь не обойтись.

Засабмить свой вебмастерский ресурс, получи PR!

1
 



С нами с 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 может содержаться не один раз, а несколько. Но смысл от этого не меняется.

6
 

www.phpdevs.com

С нами с 24.10.02
Сообщения: 16633
Рейтинг: 16105


Передовик Master-X (01.09.2005) Передовик Master-X (16.09.2005) Передовик Master-X (01.10.2005) Передовик Master-X (16.08.2006) Передовик Master-X (16.10.2006) Ветеран трепа Master-X ()
Ссылка на сообщениеДобавлено: 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 на практике тоже работает icon_smile.gif так как мне и надо, спасиба icon_smile.gif

Stek и тебе спасиб icon_smile.gif, такая конструкция правда работает немного медленнее, я кстати ее уже раньше как-то видел, а тут забыл..

Свободу Анжеле Дэвис!

0
 
Новая тема Новая тема   

Текстовая реклама в форме ответа
Заголовок и до четырех строчек текста
Длина текста до 350 символов
Купить рекламу в этом месте!


Перейти:  



Спонсор раздела Стань спонсором этого раздела!

Реклама на сайте Advertise with us

Опросы

Рецепт новогоднего блюда 2022



Обсудите на форуме обсудить (11)
все опросы »