使用格式化功能的MySQL排序时

问题描述 投票:0回答:1

我有一个总结不同的值,然后利用订单ORDER BY结果的查询。

每当我用FORMAT格式化结果我得到一个不同的排序比没有格式。

例如:

订购无需格式:2827.0000,1668.0000,663.1000

663.10,2,827.00,1,668.00:与格式订购

这可能是造成这种现象?

这是一个完整的查询:

SELECT
FORMAT( ( (Sum(CASE WHEN YEAR(order_date) = 2015 THEN total END) / 100) - (SELECT COALESCE( ( SUM(total) / 100), 0) 
FROM returns WHERE customer = orders.customer AND YEAR(return_dat) = 2015) ), 2) AS anual

FROM orders

WHERE 1 GROUP BY customer ORDER BY anual DESC
mysql sorting sql-order-by
1个回答
1
投票

订货格式的字符串会导致ASCII-abetical排序。如果你希望他们数字顺序排序,你需要有两列,格式化,格式化。请记住,这是一般最好在应用层完成。

© www.soinside.com 2019 - 2024. All rights reserved.