我使用的this library基本上只是一个查询构建器。
以下查询:
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的排序方式非常相似。就像Sphinx忽略了第一个订单查询一样。
但两个查询的返回结果完全相同。
我已经阅读了Sphinx doc中关于排序模式的内容,但似乎只有在我使用PHP sphinx客户端时才能完成。
是否有将其写入索引配置,可能是min_prefix_len
,enable_star
等?
或直接来自查询?
答案 0 :(得分:1)
似乎是对ORDER BY
在SQL / MySQL中如何工作的误解。你需要的是:
SELECT * FROM car_search ORDER BY car_id ASC, car_model_name ASC LIMIT 2;