我在sql中有以下语句,用于显示mysql数据库中的数据。
SELECT o.*
, u.picture
, u.socialid
FROM operaciones o
JOIN users u
ON o.id_usuario = u.socialid
AND o.provincia = 'Cordoba'
AND o.divisa = 'Dolares'
AND o.fecha_op IN('27-06-20','26-06-20','25-06-20')
WHERE o.tipo = 'compra'
ORDER
BY o.cotizacion DESC
, o.fecha DESC
问题是它返回的是杂乱的数据,例如“cotizacion”部分是从高到低的,它返回的所有内容都是混合的,我已经看到了几个问题,但我无法解决它。
1条答案
按热度按时间db2dz4w81#
你现在的结果看起来像
cotizacion
存储为字符串,而不是数字。字符串方面,'3'
大于'22'
(因为'3'
大于的第一个字符'22'
,即'2'
). 您应该修复数据模型,并将数字存储为数字。同时,您可以强制数字转换,如下所示: