2013-07-16 135 views
0

我有如下表:表中选择最低值,其中最低值小于

table_a 
id | charge 
1 | 95 
1 | 1 
2 | 25 

我要选择从每个ID的最低费用,并确定其是否小于...例如 SELECT ID ,将电荷从表-A WHERE MIN(电荷)> 10 GROUP BY ID

Results: 
None 

SELECT标识,将电荷从表-A WHERE MIN(充电)< 10 GROUP BY ID

Results: 
id | charge 
1 | 1 
+0

你应该接受答案。 @antonioj –

回答

0

你想用having条款:

SELECT id, min(charge) 
FROM table_a 
group by id 
having MIN(charge) < 10 
+0

YESSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS ...这是我正在寻找...谢谢! – antonioj1015

0

好像这应该工作,除非我失去了一些东西:

SELECT id, MIN(charge) 
WHERE charge BETWEEN 10 AND 40 
GROUP BY id 
0

你不能有聚合函数在WHERE条款 - 它必须是在HAVING条款 - 但在你的情况下,你在筛选行级值,而不是聚集使这样的事情应该做的伎俩:

SELECT id, MIN(charge) 
FROM table_a 
WHERE charge BETWEEN 10 AND 40 
GROUP BY id 
+0

我知道我不能那样做我想要的一个例子,问题是如果我有几个ID相同的数字MIN()将不会被采用 – antonioj1015

+0

啊,我误解了。在这种情况下(假设我现在理解了这个要求)@GordonLinoff答案至少在正确的轨道上。如果没有,你能否提供更多的样本行,并且可能举例说明10-40范围之外的数字会如何混淆结果? –