如何将 X 的值限制为 100.0000 ,而不是将其限制为 105.8968 ?
SELECT ((15898 / (15898 + 401 + 36) * 100) + (8572 * 0.001)) AS `X`
答案 0 :(得分:3)
使用LEAST函数:
SELECT (LEAST(100,
(15898 / (15898 + 401 + 36) * 100) + (8572 * 0.001)
)
) AS `X`
其他:要查找最大值(最小的倒数),可以使用GREATEST函数
最低(value1,value2,...)
具有两个或多个参数,返回最小(最小值) 论点。使用以下规则比较参数:
如果任何参数为NULL,则结果为NULL。不需要比较。
如果所有参数都是整数值,则将它们作为整数进行比较。
如果至少一个参数为双精度,则将它们作为双精度值进行比较。否则,如果至少一个参数是一个 DECIMAL值,将它们作为DECIMAL值进行比较。
如果参数包含数字和字符串,则将它们作为数字进行比较。
如果任何参数是非二进制(字符)字符串,则将参数作为非二进制字符串进行比较。
在所有其他情况下,将参数作为二进制字符串进行比较。
LEAST()的返回类型是比较的聚合类型 参数类型。
答案 1 :(得分:2)
使用LEAST()
:
SELECT LEAST((15898 / (15898 + 401 + 36) * 100) + (8572 * 0.001), 100.0000) AS `X`