【发布时间】:2011-07-18 08:31:31
【问题描述】:
好的,我尝试用谷歌搜索疯狂的答案,但我无法解决这个问题,所以我希望有人能够提供帮助。
假设我有一个用户表,非常简单的表:
id | userName
3 Michael
4 Mike
5 George
我还有另一张关于他们的汽车和价格的表格。
id | belongsToUser | carPrice
1 4 5000
2 4 6000
3 4 8000
现在我需要做的是这样的事情(随意重写):
SELECT
`userName`,
`carPrice`
FROM `users`
LEFT JOIN `cars`
ON cars.belongsToUser=users.id
WHERE `id`='4'
返回:
Mike | 5000
但我需要某个用户最贵的车,而不是找到的第一个条目。
所以问题:如何设置 LEFT JOIN 表以按 carPrice、DESC 排序?
【问题讨论】:
-
应该返回所有 3 条记录,为什么它只返回 1 条......我们错过了什么?
-
你没有显示整个查询,它应该返回三个结果
-
当您说“按 carPrice DESC 订购”时,您的意思是您想要所有匹配的汽车,按价格订购吗?还是您的意思是您希望加入只获得一辆匹配的汽车,而那辆汽车是最昂贵的?
标签: mysql sql greatest-n-per-group