我在MySQL MariaDB 10.20.1上有一个场景,其中一组结果行无法按特定列排序。
以下是此查询的简化示例
SELECT *
FROM (
SELECT *
FROM Invoice
WHERE /SOME_COMPLEX_CONDITION IS TRUE/
UNION ALL
SELECT *
FROM Invoice
WHERE /ANOTHER_COMPLEX_CONDITION IS TRUE/
) D12 ORDER BY D12.Amount ASC;
结果集按字典顺序排序,而不是按升序或降序排序。发票列的类型是DECIMAL(X,Y),代码中没有类型转换。
我想指明哪里可以开始我的研究?