【发布时间】:2020-10-02 19:04:48
【问题描述】:
我正在尝试查询以获取每个用户的最新汽车:
select * from users
left join
(select cars.* from cars
where cars.userid=users.userid
order by cars.year desc limit 1) as cars
on cars.userid=users.userid
看起来它在 where 子句中显示未知列“users.userid” 我试图删除 cars.userid=users.userid 部分,但它只获取 1 辆最新的汽车,并将其粘贴到每个用户身上。
有什么方法可以完成我所追求的吗?谢谢!!
【问题讨论】:
-
能否请您发布创建表和一些数据,以便我们更好地理解您的问题,请参阅meta.stackoverflow.com/questions/333952/…
-
请在代码问题中给出minimal reproducible example--cut & paste & runnable code,包括最小的代表性示例输入为代码;期望和实际输出(包括逐字错误消息);标签和版本;明确的规范和解释。给出尽可能少的代码,即您显示的代码可以通过您显示的代码扩展为不正常的代码。 (调试基础。)对于包含 DBMS 和 DDL(包括约束和索引)和输入为格式化为表的代码的 SQL。 How to Ask 暂停总体目标的工作,将代码砍到第一个表达式,没有给出你期望的内容,说出你的期望和原因。
标签: mysql sql join select greatest-n-per-group