Есть таблица с данными:
| user_id | price |
--------------------
| 1 | 30 |
--------------------
| 1 | 20 |
--------------------
| 1 | 50 |
--------------------
| 1 | 70 |
--------------------
| 2 | 30 |
--------------------
| 2 | 30 |
--------------------
| 3 | 30 |
--------------------
| 3 | 5 |
--------------------
Хочу найти
user_id у которого сумма столбцов
price будет максимальной. Ответ будет:
| user_id | price |
--------------------
| 1 | 170 |
--------------------
Для достижения резульатат делаю запрос:
SELECT user_id, SUM(price) FROM `order` GROUP BY user_id ORDER BY SUM(price) DESC LIMIT 1;
Но может быть ситуация, что будет два
user_id с максимальными суммами и
суммы будут одинаковые:
| user_id | price |
--------------------
| 1 | 170 |
--------------------
| 4 | 170 |
--------------------
Как тогда будет выглядеть запрос? Типа такого:
SELECT o.user_id, MAX(found_sum) FROM (SELECT user_id, SUM(price) AS found_sum FROM 'order' GROUP BY user_id) AS o;