我有这个表结构
- request_id(来自其他表的 F.K)
- 用户编号
- 价格
我想要按价格排序的前一条记录,但对于 request_id 的每个唯一值,例如说如果我有
request_id user_id price
1, 1, 100
1, 2, 200
1, 3, 300
2, 2, 10
2, 1, 20
2, 3, 30
那么期望的结果将是:
request_id user_id price
1, 1, 100
2, 2, 10
SELECT user_id,price FROM request ORDER BY price LIMIT 1
最佳答案
SELECT x.*
FROM my_table x
JOIN
( SELECT request_id,MIN(price) min_price FROM my_table GROUP BY request_id )y
ON y.request_id = x.request_id
AND y.min_price = x.price;
关于mysql - 为列的每个唯一值选择前一条记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24829447/