Здравствуйте, коллеги! Недавно столкнулся со следующей проблемой:
Есть таблица с заказами:
+---------+------------+--------+------------+
| OrderID | CustomerID | Amount | Date |
+---------+------------+--------+------------+
| 1 | 3 | 69.98 | 2007-04-02 |
| 2 | 1 | 49.99 | 2007-04-15 |
| 3 | 2 | 74.98 | 2007-04-19 |
| 4 | 3 | 24.99 | 2007-05-01 |
| 5 | 2 | 43.87 | 2018-03-10 |
| 6 | 2 | 2.56 | 2014-05-02 |
| 7 | 2 | 69.38 | 2017-04-02 |
| 8 | 3 | 22.29 | 2013-02-21 |
| 11 | 4 | 22.28 | 2053-02-21 |
| 12 | 3 | 22.23 | 2013-02-21 |
| 13 | 3 | 22.23 | 2013-02-21 |
| 15 | 3 | 22.21 | 2013-02-21 |
| 16 | 2 | 12.21 | 2015-02-21 |
| 17 | 2 | 11.11 | 2016-02-12 |
| 18 | 2 | 11.12 | 2016-02-12 |
| 19 | 2 | 11.16 | 2016-02-12 |
+---------+------------+--------+------------+
Я хочу узнать ID заказа с наибольшей суммой. Делаю вот такой запрос:
SELECT OrderId, MAX(Amount) FROM Orders GROUP BY OrderId HAVING MAX(Amount) = MAX(Amount);
+---------+-------------+
| OrderId | MAX(Amount) |
+---------+-------------+
| 1 | 69.98 |
| 2 | 49.99 |
| 3 | 74.98 |
| 4 | 24.99 |
| 5 | 43.87 |
| 6 | 2.56 |
| 7 | 69.38 |
| 8 | 22.29 |
| 11 | 22.28 |
| 12 | 22.23 |
| 13 | 22.23 |
| 15 | 22.21 |
| 16 | 12.21 |
| 17 | 11.11 |
| 18 | 11.12 |
| 19 | 11.16 |
+---------+-------------+
16 rows in set (0.00 sec)
Но ответ меня не устраивает. Я хочу что бы был такой вывод:
+---------+-------------+
| OrderId | MAX(Amount) |
| 3 | 74.98 |
+---------+-------------+
Как составить такой запрос?
Заранее выражаю огромную благодарность всем, кто поможет