Выберите максимум для каждого значения в таблице MySQL - PullRequest
2 голосов
/ 21 декабря 2011

У меня есть таблица MySQL со списком STATE и ORDERAMOUNT:

State | OrderAmount
===================
New York  5
New York  6
Pennsylvania  6
Pennsylvania  7

Я хочу выбрать список всех состояний, в которых есть один БОЛЬШОЙ заказ, а затем заданная сумма, скажем, 15, а такжекак самая большая сумма заказа для этого государства.Как бы я перебрал все значения STtate, чтобы получить этот список, используя один запрос?

Ответы [ 2 ]

3 голосов
/ 21 декабря 2011

Не проверено, но должно работать следующее:

SELECT state, max(orderamount) AS amount FROM table GROUP BY state HAVING amount > 15;
0 голосов
/ 21 декабря 2011

Попробуйте что-то вроде:

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...