2

我使用这个库,它基本上只是一个查询构建器。

以下查询:

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 DESCcar_id ASC,希望结果的顺序与 MySQL 的顺序非常相似。就像 Sphinx 忽略了除第一个之外的订单查询。

但是两个查询的返回结果完全相同。

我已经阅读了Sphinx doc中的排序模式,但似乎只有使用 PHP sphinx 客户端才能完成。

反正有没有把它写在索引配置上,比如min_prefix_len,enable_star等?

还是直接从查询?

4

1 回答 1

1

这似乎是对ORDER BYSQL/MySQL 中如何工作的误解。你需要的是:

SELECT * FROM car_search ORDER BY car_id ASC, car_model_name ASC LIMIT 2;
于 2015-12-13T18:44:16.643 回答