2011-12-21 65 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