我试图看看是否可以在一个查询中完成以下情况:
我有一个包含多列的表,但是,只有两列重要:version 和 groupId。 许多行可以共享相同的groupId值,版本列是需要的数字 待排序。
给定两个 groupId 值 A 和 B,我想最终返回两行。我想找到 A 组和 B 组的最新版本号。
感谢您的帮助。抱歉,如果这相当明显,但我遇到了困难
最佳答案
类似这样的吗?
SELECT groupId, MAX(version) max_version
FROM YourTable
WHERE groupId IN ('A', 'B')
GROUP BY groupId;
您没有指定任何数据类型,因此我假设 groupId
实际上可以采用 'A'
等字符值。只需更改此设置即可满足您的需求。基本思想是,在仅过滤掉您感兴趣的值后,对您的 groupId
进行GROUP BY
。然后,您为每个值SELECT
MAX(version)
。
关于MySQL——让所有的事情都变成一个查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9627671/