首页 > 解决方案 > 如何通过 order by 查询不同的?

问题描述

以下是bids表内的数据。

id, user_id, amount
1, 2, 100
2, 3, 200
3, 2, 200
4, 2, 200

我想查询用户的唯一性user_idamount。此外,它必须是desc数量。(查询与 order by 不同)

结果应该类似于以下内容...

id, user_id, amount
2, 3, 200
3, 2, 200

我尝试与 order by 不同,如下所示

SELECT distinct user_id, amount FROM bids order by amount desc

结果与 user_id 重复,如下所示

id, user_id, amount
1, 2, 100
2, 3, 200
3, 2, 200

我怎样才能查询user_id是唯一的?

标签: mysql

解决方案


使用GROUP BYMAX

SELECT user_id, MAX(amount) FROM bids GROUP BY user_id order by MAX(amount) desc

推荐阅读