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

MySQL 8.0.21:获取每个fruit分组TableData的最新值

MySQL 8.0.21 获取指定类型分组的最新数据解决方案

针对需求:获取type为"fruit"的每个分组对应的TableData中的最新value(以TableData.id作为最新判断依据,id越大数据越新),提供两种可行的查询方案:

方案一:使用窗口函数(推荐,MySQL 8.0+支持)

利用ROW_NUMBER()窗口函数对每个分组内的数据按id降序排序,取排序后第一条数据即为最新值:

SELECT n.name, d.value
FROM TableNames n
INNER JOIN (
    SELECT 
        id_group,
        value,
        ROW_NUMBER() OVER (PARTITION BY id_group ORDER BY id DESC) AS rn
    FROM TableData
) d ON d.id_group = n.id_group
WHERE n.type = 'fruit' AND d.rn = 1;

方案二:关联子查询(兼容旧版本)

先通过分组查询得到每个id_group对应的最大id,再关联TableData获取对应value:

SELECT n.name, d.value
FROM TableNames n
INNER JOIN TableData d ON d.id_group = n.id_group
INNER JOIN (
    SELECT id_group, MAX(id) AS max_id
    FROM TableData
    GROUP BY id_group
) max_d ON d.id_group = max_d.id_group AND d.id = max_d.max_id
WHERE n.type = 'fruit';

以上两种方案均可得到期望输出:

namevalue
AppleGroup3
BananaGroup4

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 23:20:29