SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 08.08.2013 12:49:50

Slorvengo
Завсегдатай
Зарегистрирован: 08.08.2013
Сообщений: 46

Mysql-запрос на сортировку c FIND_IN_SET или с FIELD

Добрый день.

Можно ли как - нибудь выполнить подобный запрос на сортировку.
Сначала группируется по типам, а потом идет сортировка по полю sorting.

SELECT * FROM TABLE
ORDER BY FIND_IN_SET(telem, 'root,group,directory,pdf'), sorting DESC



Также вместо FIND_IN_SET- пробовал FIELD

Но почему то работает не правильно.
Выполняется только sorting ASC - а FIND_IN_SET/FIELD - как бы игнорируется.

Спасибо.

Неактивен

 

#2 09.08.2013 03:02:43

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3878

Re: Mysql-запрос на сортировку c FIND_IN_SET или с FIELD

Проверьте срабатывает ли FIND_IN_SET

SELECT  FIND_IN_SET(telem, 'root,group,directory,pdf') f FROM TABLE ORDER BY f;

Неактивен

 

#3 12.08.2013 00:40:36

Slorvengo
Завсегдатай
Зарегистрирован: 08.08.2013
Сообщений: 46

Re: Mysql-запрос на сортировку c FIND_IN_SET или с FIELD

Спасибо за ответ.
Да - вроде бы сортировка проходит...
Сейчас попробую тогда вот так:

SELECT  *, FIND_IN_SET(telem, 'root,group,directory,pdf') f FROM table ORDER BY f, sorting DESC;

Неактивен

 

#4 12.08.2013 00:48:36

Slorvengo
Завсегдатай
Зарегистрирован: 08.08.2013
Сообщений: 46

Re: Mysql-запрос на сортировку c FIND_IN_SET или с FIELD

Да - все работает...
Еще раз спасибо...
DESC поменял на ASC

Теперь выводятся:

- root (сортируется)
- group (сортируется)
- directory (сортируется)
- pdf (сортируется)

Единственное конечно не очень удобно что приходится делать "*" - SELECT всех колонок, ну это уже думаю не важно...

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson