我有一张包含运费和最大重量的表格,例如:
max_weight shipping_cost
100 1.50
250 3.00
500 5.00
1000 8.50
30000 12.50
我希望能够根据订单的重量获得运费,其中权重小于表中的max_weight
。因此,如果重量是410,运费是5.00,如果重量是2000,运费是12.50等等。
使用max_weight >= '" . $weight . "'
不起作用,因为它只返回超过重量的第一个max_weight
,例如683的重量将返回12.50作为运费。
如何确保其获得正确的max_weight
?
答案 0 :(得分:19)
只需巧妙地使用ORDER BY
和LIMIT
。
WHERE weight < max_weight
ORDER BY max_weight ASC
LIMIT 1