ID | 名称 | min_amount | 费用|
---|---|---|---|
1 | 标准 | 50.00 | 3.00 |
2 | 特快 | 50.00 | >5.00 |
3 | 标准 | <10.00><2.00>||
4 | 特快 | <10.00>
您需要首先获得最高的最小值,然后使用WHERE
子句中的IF
条件来决定上限值,
SELECT id, name, min_amount, MAX(charge) as shipping
FROM shippings,
(SELECT MAX(min_amount) as min_amount_limit FROM shippings) z
WHERE min_amount >= IF(z.min_amount_limit < 101.00, z.min_amount_limit, 101.00)
GROUP BY name;
工作Fiddle