作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试获得组内的最高版本。我的查询:
SELECT
rubric_id,
max(version) as version,
group_id
FROM
rubrics
WHERE
client_id = 1
GROUP BY
group_id
数据:
结果:
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/
我是一名优秀的程序员,十分优秀!