sql - 如何在 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
解决方案
您可以尝试使用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
推荐阅读
- php - 使用 jquery ajax 显示带有更新按钮的选定行表
- android - 在 targetSDK 版本更改后让 Gradle 更新/更改其依赖项
- c++ - 如何为返回特定类型的函数创建 SWIG 类型映射
- google-cloud-platform - 云作曲家不稳定的用户界面
- java - 在 Spring 中不使用控制器重定向到 TMLpage
- java - HikariCP - 向 JDBC url 添加属性
- javascript - 如何在 HTML Canvas 中制作锯齿状的对角线?
- r - 在 R 中调用 REST API
- asp.net-core - 无法将响应数据传递给 JSON
- webpack - Webpack 4 捆绑包拆分,捆绑包之间共享范围