gpt4 book ai didi

mysql - SQL:Group By 记录不匹配

转载 作者:行者123 更新时间:2023-11-29 11:09:10 25 4
gpt4 key购买 nike

我正在尝试获得组内的最高版本。我的查询:

SELECT 
rubric_id,
max(version) as version,
group_id
FROM
rubrics
WHERE
client_id = 1
GROUP BY
group_id

数据:

enter image description here

结果:

enter image description here

ID 2 的标题没有版本 2,为什么会不匹配?我需要做什么来纠正这个问题?

编辑,而非重复:

这不是 SQL Select only rows with Max Value on a Column 的重复,ojit_a 是我在写这篇文章之前阅读和引用的帖子。我的问题是不是如何找到最大值,我的问题是为什么版本与正确的ID不匹配>

最佳答案

MySQL 让您感到困惑,因为您可以在选择中包含不在分组依据中的列。要解决此问题,请确保您没有选择分组依据之外的任何字段。

您不需要尝试在一条语句中获取所有内容,而是需要使用子查询来查找 max_version_id,然后加入它。

SELECT T.*
FROM rubrics T
JOIN
(
SELECT
group_id,
max(version) as max_version
FROM
rubrics
GROUP BY
group_id
) dedupe
on T.group_id = dedupe.group_id
and T.version_id = dedupe.max_version_id
WHERE
T.client_id = 1

关于mysql - SQL:Group By 记录不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40922735/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com