SQL选择WHERE子句后的最小值

时间:2015-06-10 21:44:44

标签: sql sqlite

我是SQL的初学者,所以这可能是一个非常简单的问题。我有一张包含邮资服务信息的表格如下:

ID Service              Max_Weight Cost
----------------------------------------
1  SecondClassStandard  0.10       0.95

2  SecondClassStandard  0.25       1.19

3  SecondClassStandard  0.50       1.51

4  SecondClassStandard  0.75       2.05

5  SecondClassStandard  1.00       2.80

如何执行以下查询(作为示例):

SELECT * FROM table WHERE Service = 'SecondClassStandard' AND Max_Weight >= 0.075;

从结果中获得一项满足重量要求的服务。换句话说,选择一个合适的结果 - 例如,从上面的查询中,它应该只返回:

1|SecondClassStandard|0.10|0.95

但是,如果我这样做:

SELECT * FROM table WHERE Service = 'SecondClassStandard' AND Max_Weight >= 0.105;

它应该返回:

2|SecondClassStandard|0.25|1.19

3 个答案:

答案 0 :(得分:2)

我认为您打算使用像{/ 3}这样的LIMIT子句

SELECT * FROM table 
WHERE Service = 'SecondClassStandard' 
AND Max_Weight >= 0.075 
LIMIT 1;

答案 1 :(得分:1)

您需要使用LIMIT来获取第一行

SELECT * FROM table WHERE Service = 'SecondClassStandard' AND Max_Weight >= 0.075 LIMIT 1;

SELECT * FROM table WHERE Service = 'SecondClassStandard' AND Max_Weight >= 0.105 LIMIT 1;

答案 2 :(得分:0)

SELECT * FROM table 
WHERE Service = 'SecondClassStandard' 
AND Max_Weight >= 0.075 
ORDER BY Max_Weight ASC Limit 1;