You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取各分组最大值记录并从重复查询中提取最大日期去重

SQL分组取最大日期问题解答

问题1:如何从重复查询结果中获取最大日期并去除重复数据?

问题2:如何获取每个分组集合中包含最大值的记录?

现有数据

ProductDate out
Book 101-01-2019
Book 205-03-2021
Book 306-05-2021
Book 101-02-2019
Book 130-11-2021
Book 101-12-2022

你之前写的SQL语句缺少GROUP BY子句,无法正确分组计算最大值,正确写法如下:

SELECT Product, MAX(`Date out`) AS `Latest Date out`
FROM products
GROUP BY Product;

执行后就能得到你期望的结果:

ProductLatest Date out
Book 101-12-2022
Book 205-03-2021
Book 306-05-2021

如果需要获取每个分组里包含最大日期的完整记录(比如表中还有其他字段要返回),可以用窗口函数实现:

SELECT Product, `Date out`, other_column
FROM (
    SELECT 
        Product, 
        `Date out`, 
        other_column,
        ROW_NUMBER() OVER (PARTITION BY Product ORDER BY `Date out` DESC) AS rn
    FROM products
) t
WHERE rn = 1;

这个方法会给每个Product分组的记录按日期倒序排序,取排序后第一条(也就是日期最大的那条),适合需要返回多字段的场景。

内容的提问来源于stack exchange,提问作者Alicia Morales

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 23:50:28