首页 > 解决方案 > 如何在 SQL 中获取 GROUP BY 中的最新记录

问题描述

我写了这个查询:

SELECT * 
FROM `peer_settings` 
WHERE `sorting_hub_id` LIKE '[\"172\"]' 
GROUP BY product_id 
ORDER BY `peer_settings`.`product_id` ASC

当我运行此查询时,我得到了 ID 488 产品 ID 100

但我想要 id 46595 产品 id 100

在此处输入图像描述

在此处输入图像描述

标签: sqllaravel

解决方案


您可以尝试使用having子句

SELECT * 
FROM `peer_settings` 
WHERE `sorting_hub_id` LIKE '[\"172\"]' 
GROUP BY product_id  having max(id)
ORDER BY `peer_settings`.`product_id` ASC

推荐阅读