【发布时间】:2014-05-26 06:52:12
【问题描述】:
我有 2 个名为“维护”的表和另一个“进程”和“汽车”。 维护:
id car_id process_id date
1 1 1 4/26/2013
2 1 1 5/26/2013
3 1 2 5/26/2013
我想为根据最大日期重复的 car_id 和 process_id 选择不同的值。所以我想要:
id car_id process_id date
2 1 1 5/26/2013
3 1 1 5/26/2013
我有这个:
SELECT m.*, u.username, c.milage, p.*, s.name
FROM maintenances as m
LEFT JOIN users AS u
ON u.id = m.user_id
LEFT JOIN cars AS c
ON c.id = m.car_id
LEFT JOIN processes as p
ON p.id = m.process_id
LEFT JOIN services as s
ON s.id = m.service_id
Group by m.car_id, m.process_id
但这给了我:
id car_id process_id date
1 1 1 4/26/2013
3 1 2 5/26/2013
我想要:
id car_id process_id date
2 1 1 5/26/2013
3 1 2 5/26/2013
【问题讨论】:
-
从给定的数据中获取行
3 1 1 5/26/2013的逻辑是什么 -
你想要第二行的 process_id 2,不是吗?
-
max(date) with group by car_id,process_id 怎么样
-
@Raphaël Althaus 刚刚编辑了我的问题。我犯了一个小错误。请看一下
-
@Sadikhasan 将 max(date) 放在哪里?