2011-12-21 48 views
2

我有一個MySQL表與各國和ORDERAMOUNTs的列表中選擇每個值的最大給定的金額,比如15,以及該州最大的訂單金額。我將如何迭代所有STtate值以使用單個查詢來獲取此列表?在一個MySQL表

回答

3

未經檢驗的,但下面應該工作:

SELECT state, max(orderamount) AS amount FROM table GROUP BY state HAVING amount > 15; 
+0

MYSQL – Umer 2011-12-21 05:34:25

+0

@Umer之美:同意,但在大表這種類型的查詢可能是痛苦的。 – 2011-12-21 05:38:10

+0

這很簡單,完美的工作! – MarathonStudios 2011-12-21 05:42:36

0

嘗試類似:

Select s1.state, s1.orderamount, MAX(s2.orderamount) AS max_amount FROM states s1 
LEFT JOIN states s2 ON s1.id = s2.id 
WHERE s1.orderamount > 15 GROUP BY s1.id