Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 当我想从表中取整到特定的批量读数时,如何在sql中取整_Mysql_Rounding Error_Ondemand - Fatal编程技术网

Mysql 当我想从表中取整到特定的批量读数时,如何在sql中取整

Mysql 当我想从表中取整到特定的批量读数时,如何在sql中取整,mysql,rounding-error,ondemand,Mysql,Rounding Error,Ondemand,当我想从表中取整到特定的批量读数时,如何在sql中取整。所以,如果需求是51,但我的命运是50,我希望它与100一起回来。你试过使用案例陈述吗选择批次50,48->50,51->100,87->100,依此类推,然后 select ((@number div 50) + 1) * 50 其中替换要四舍五入的值以代替@number select ((@number div 50) + 1) * 50

当我想从表中取整到特定的批量读数时,如何在sql中取整。所以,如果需求是51,但我的命运是50,我希望它与100一起回来。

你试过使用案例陈述吗<代码>选择批次<50时的案例,然后从表中选择批次100结束

只有当您有几个不同的舍入选择时,这才有效,放置太多的case语句将花费大量时间

我假设“lot size”是一个列字段名?如果是这样,If语句可能就是您想要的。下面是一个简单的例子

 SELECT IF (lot_size > 49, 100, lot_size) AS lot_size FROM table_name
或者,如果您有
批次大小
列:

SELECT lot_size*CEIL(qty / lot_size) AS RoundedQty FROM table_name

如果你想凑到最接近的50,那么1->50,48->50,51->100,87->100,依此类推,然后

select ((@number div 50) + 1) * 50
其中替换要四舍五入的值以代替@number

select ((@number div 50) + 1) * 50