我想从名为 cars 的表中返回 3 行,每辆车都应该有一个不同的dealer_id ,并且我希望它们按 ID desc 排序(以便添加到数据库中的最新三辆车是返回的)
SELECT id,dealer_id,name,model_year
FROM cars
GROUP by dealer_id
ORDER BY id DESC
LIMIT 3;
但是这个查询没有从每个不同的地方返回最新的 3 辆车dealer_id
如果您想要最新的记录,则可以使用以下内容:
SELECT c1.id,
c1.dealer_id,
c1.name,
c1.model_year,
c1.date_Added
FROM cars c1
inner join
(
select dealer_id, max(date_Added) mxdate
from cars
group by dealer_id
) c2
on c1.dealer_id= c2.dealer_id
and c1.date_Added = c2.mxdate
GROUP BY dealer_id
ORDER BY id desc
LIMIT 3;