我有三个通过左连接连接的表。这是代码:
SELECT
(LEAST(`a`.`price, `b`.`price`) - `c`.`price`) AS `diff`
...
ORDER BY `diff` DESC
问题:c
。price
大于 LEAST,因此减法为负并抛出 BIGINT UNSIGNED value is out of range。我怎样才能让它不抛出这个荒谬的错误?
这是结果数据,我没有修改表中的实际数据,为什么它不允许我正常执行此操作?我已经尝试CAST(LEAST(...) AS SIGNED)
在 LEAST 中将两列都按签名进行转换,但都没有奏效。