我有一个purchases
表:
-----------------
user_id | amount
-----------------
1 | 12
1 | 4
1 | 8
2 | 23
2 | 45
2 | 7
我希望查询能够每个
user_id
返回一个行,但我想要的是每个user_id
对应的行中,amount
最小的那一行。所以我的结果集应该如下:-----------------
user_id | amount
-----------------
1 | 4
2 | 7
在
user_id
列上使用DISTINCT
确保不获取重复的用户,但我不知道如何使其返回具有最少amount
的用户行。
select user_id, min(amount) from purchases group by user_id
?这不是更高效的吗?真诚提问。 - hrmnjtmin(amount)
并不能自动与其交易日期对齐,但使用row_number
可以返回行号,因此您可以将最小金额及其交易日期(或该行上的任何数据)保持在一起 - 所以这不是性能问题,而是数据完整性的问题。 - Paul Maxwell