My database table我的SQL查询与最大列值选择不同的记录
我有maitains复制Panel_Number和历史上这一历史表。 我将需要你的帮助来获得一个查询,这将使我从表中得到不同的Panel_Number及其最大值(版本)。
例如: - 面板0G3101在表中有3个不同版本的1,2,3。我只需要在结果集中显示面板0G3101 WITH MAX(VERSION),在这种情况下是3。
同样,我需要所有不同的面板号码与他们的最大版本。
My database table我的SQL查询与最大列值选择不同的记录
我有maitains复制Panel_Number和历史上这一历史表。 我将需要你的帮助来获得一个查询,这将使我从表中得到不同的Panel_Number及其最大值(版本)。
例如: - 面板0G3101在表中有3个不同版本的1,2,3。我只需要在结果集中显示面板0G3101 WITH MAX(VERSION),在这种情况下是3。
同样,我需要所有不同的面板号码与他们的最大版本。
这里是an SQL fiddle I made for you。我添加了一些任意的数据,但查询可以正常工作。
查询应该是:
SELECT
id,
panel_number,
max(version)
FROM
PANEL
GROUP BY
panel_number
的结果是这样的:
| id | panel_number | max(version) |
|----|--------------|--------------|
| 1 | 0G3101 | 3 |
| 4 | 0G3102 | 2 |
谢谢。但这并不完全按要求运作。我可能没有精确地解释我的要求。在图像中,对于面板号0G3101,0G3106,0G3107,0G3108,我正确地获取版本,但插入了最新的记录,这意味着查询抖动返回ids- 61.62,63,64(它们在表格的末尾) – MayurS
您可以通过子句中使用集团解决您的问题。
SELECT panel_number, max(version) FROM PANEL GROUP BY panel_number
对不起芽。我需要插入最新版本的面板号码,在这种情况下,它是ids- 61.62,63,64(位于表格末尾) – MayurS
请尝试以下一种方式:'SELECT panel_number,version,max(id)FROM PANEL GROUP BY panel_number' –
更新您的问题,以便我们可以提供帮助,并对小提琴进行一些更改,以便我们可以知道您确切需要什么。 – droidnation
尝试在查询these..work 100%的点击..
SELECT panel_number, MAX(version) FROM PANEL GROUP BY panel_number
这不符合要求,即为每个业务键('panel_number')选择最高版本的记录。 – APC
如果你的要求是'[MySQL的]'数据库不包含'[甲骨文]'标签。他们是不同的产品,对于这项任务他们可能有不同的解决方案。 – APC
你可以看看这个,这对我以前的帮助。希望它对你也有帮助。 https://stackoverflow.com/questions/7745609/sql-select-only-rows-with-max-value-on-a-column – Amal