使用以下查询时:
SELECT id, rater_id, product_id, is_valid
FROM `ratings`
WHERE (`ratings`.element_id = 3151)
ORDER BY id DESC, product_id DESC, is_valid ASC;
我希望结果集首先按 id 排序,然后按 product_id 排序,然后按 is_valid 排序。实际发生的是结果集确实是有序的,但结果中的 is_valid 列似乎是按 DESC 排序的,而不是按 ASC 排序的。尝试同时使用 ASC 和 DESC,但结果集保持不变。
+------------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+------------------+--------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| user_id | int(11) | NO | MUL | NULL | |
| product_id | int(11) | YES | MUL | NULL | |
| value | tinyint(4) | YES | MUL | NULL | |
| rater_id | int(11) | YES | | NULL | |
| comment | varchar(350) | YES | | NULL | |
| created_at | datetime | YES | | NULL | |
| updated_at | datetime | YES | | NULL | |
| element_id | int(11) | YES | MUL | NULL | |
| is_valid | tinyint(1) | YES | MUL | 0 | |
+------------------+--------------+------+-----+---------+----------------+