我有一个表software和列在它dev_cost,sell_cost。如果dev_cost为16000,sell_cost则为7500。
software
dev_cost
sell_cost
我如何找到要恢复的软件销售数量dev_cost?
我已查询如下:
select dev_cost / sell_cost from software ;
它返回2作为答案。但是我们需要得到3,对吗?
这将是什么查询?提前致谢。
您的列具有整数类型,并且整数除法会将结果截断为0。为了获得准确的结果,您需要将至少一个值强制转换为float或小数:
select cast(dev_cost as decimal) / sell_cost from software ;
要不就:
select dev_cost::decimal / sell_cost from software ;
然后,您可以使用ceil()函数将结果四舍五入到最接近的整数:
ceil()
select ceil(dev_cost::decimal / sell_cost) from software ;
(请参阅SQLFiddle上的演示。)