面试时遇到一个问题 查询每个用户消费金额 表结构[id, user_id, amount]
我想的是:
SELECT
user_id,
max( amount )
FROM
orders
GROUP BY
user_id
但看到社区很多人给的语句都是使用了子查询。为什么要写这么复杂?
比如:
SELECT
o.*
FROM
orders o
RIGHT JOIN (
SELECT
max(amount) mxa,
user_id
FROM
orders
GROUP BY
user_id
) m ON o.user_id = m.user_id
AND o.amount = m.mxa