mysql - 如何在 MySQL 中查询以下内容?

标签 mysql sql database

我想从名为 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; 

但此查询不会从每个不同的 dealer_id

返回最新的 3 辆汽车

最佳答案

如果你想要最近的记录,那么你可以使用类似下面的东西:

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;

参见 SQL Fiddle with Demo

关于mysql - 如何在 MySQL 中查询以下内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11970675/

相关文章:

php - html php通过多个页面和内部表单传递变量

php - 从 Laravel 中的另一个表中过滤表中的用户

mysql - 查找客户一起购买的产品

java - 如何屏蔽DB?

php - mySQLi 同时选择和更新

PHP 检查函数参数,如果为空则设置为空

mysql - SQL - 在复杂字段中选择整数(CAST 和 LIKE 运算符)

iphone - 我使用哪种数据保存方法?

python - 有没有比使用 N^2 循环更快的插入 N^2 项的方法?

mysql - 从 MySQL 中的字段中选择最常见的值