Порядок SphinxQL по нескольким полям

я использую эта библиотека который в основном просто построитель запросов.

Следующий запрос:

SELECT * FROM car_search ORDER BY car_model_name ASC, car_id DESC LIMIT 2;

В результате чего:

+------+----------------+---------------------+
| id   | car_model_name |              car_id |
+------+----------------+---------------------+
|   33 |       Audi     |               17461 |
|   20 |       Bentley  |               17439 |
+------+----------------+---------------------+

Теперь, если я изменю порядок запросов, например,

SELECT * FROM car_search ORDER BY car_model_name ASC, car_id ASC LIMIT 2;

Как видно, я изменил порядок с car_id DESC в car_id ASC в надежде, что результат будет упорядочен так же, как MySQL. Как будто Сфинкс игнорирует запросы заказов, за исключением первого.

Но возвращенный результат одинаков для обоих запросов.

Я читал о режимах сортировки в Сфинкс док, но кажется, что это можно сделать только если бы я использовал PHP sphinx client.

Есть ли в любом случае записать его в конфигурации индекса, возможно, такой как min_prefix_len, enable_star, так далее?

Или прямо из запроса?

2

Решение

Кажется, это неправильное понимание того, как ORDER BY работает в SQL / MySQL. Что вам нужно это:

SELECT * FROM car_search ORDER BY car_id ASC, car_model_name ASC LIMIT 2;
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]