|
|
|
| Здравствуйте.
проводим выборку по списку
AND art.id IN (4569,4575)
|
хочется, чтобы результат был отсортирован по этому же списку. как этого добиться? | |
|
|
|
|
|
|
|
для: btr
(30.01.2013 в 18:39)
| | Уважаемые телеглядачи :) помогите, не знаю, как решить данный вопрос, а НАДО | |
|
|
|
|
автор: .heed (31.01.2013 в 13:23) |
|
|
для: btr
(31.01.2013 в 00:42)
| | Тут как-бы очевидно ответ выглядит таким
WHERE ... AND art.id IN (4569,4575) ORDER BY art.id
Или если именно в IN () должен задаваться порядок сортировки, то вряд-ли возможно, в ORDER BY кроме номера или имени поля может быть выражение, но оно тогда должно возвращать результат, по которому будет сортировка | |
|
|
|
|
автор: .heed (31.01.2013 в 13:45) |
|
|
для: .heed
(31.01.2013 в 13:23)
| | если только извратиться и прилепить какое-нибудь FIND_IN_SET
mysql> SELECT FIND_IN_SET('b','a,b,c,d');
-> 2
|
| |
|
|
|
|
|
|
|
для: .heed
(31.01.2013 в 13:45)
| | почитаю, посмотрю | |
|
|
|
|
|
|
|
для: .heed
(31.01.2013 в 13:23)
| | в общем, наверное я как всегда неточно формулирую:
Ваш вариант сортирует по возрастанию art.id, а надо, чтоб как в списке (может быть: (23, 45, 3, 28 итд)) | |
|
|
|
|
|
|
|
для: btr
(31.01.2013 в 14:33)
| | а по какому принципу у Вас (23, 45, 3, 28 итд) для запроса формируется? откуда такой порядок берется? | |
|
|
|
|
|
|
|
для: Lotanaen
(31.01.2013 в 14:46)
| | формируется на клиенте. это порядок просмотров товаров | |
|
|
|
|
|
|
|
для: btr
(31.01.2013 в 00:42)
| | может, как то через вложенный запрос? прочитал, что им можно пользоваться в order by, но примеров нет, и что-то в голову не приходит, с чего начать :) | |
|
|
|
|
автор: .heed (31.01.2013 в 15:41) |
|
|
для: btr
(31.01.2013 в 14:37)
| | я примерно о таком говорил
SELECT * FROM `help_topic` WHERE help_topic_id IN (356,307,399) ORDER BY FIND_IN_SET(''+help_topic_id,'356,307,399')
|
незнаю насколько будет влиять на скорость | |
|
|
|
|
|
|
|
для: .heed
(31.01.2013 в 15:41)
| |
AND art.id IN (4570,4571,4569,4575)
ORDER BY FIND_IN_SET(art.id,'4570,4571,4569,4575')
|
вот таким образом получилось, спасибо огромное :)
по поводу правильности подхода (по поводу скорости итп) хотелось бы мнения гур выслушать. | |
|
|
|
|
|
|
|
для: btr
(31.01.2013 в 16:01)
| | Сортировка по списку выполняется всегда именно так. Так что по скорости вариантов не много =) | |
|
|
|