2013-07-16 131 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範圍之外的數字會如何混淆結果? –