gpt4 book ai didi

mysql - 如何查询一个字段与另一个字段相关的最大值?分组依据不起作用? (MySQL)

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

我有一个包含 2 列的表:EntryID 及其版本。每个条目可以有多个不同的版本,最高版本是该条目的最新版本。此外,每个entryID 可能有超过1 个名称

EntryID - Version - EntryName212 - 1 - Car212 - 1 - Car2212 - 2 - Batr212 - 2 - hoo451 - 2 - Csert451 - 3 - xxx451 - 3 - xxx2111 - 1 - yyy333 - 4 - ggg

Now, based on the entryID provided, I have a need to get the all the entries that have max versions only.

Ex, the user may enter 212 & 451 & hit the button then it will show:

EntryID - Version - EntryName212 - 2 - Batr212 - 2 - hoo451 - 3 - xxx451 - 3 - xxx2

The below query using group by but doesn't work.

 select * from table where entryID in (212,451) and version in 
(select max(version) from table where entryID in (212,451) group by entryID)

结果:

EntryID - Version - EntryName212 - 2 - Batr212 - 2 - hoo451 - 2 - Csert451 - 3 - xxx451 - 3 - xxx2

这是不正确的,因为条目 451 包含版本 2,这是条目 212 的最大版本。

最佳答案

SELECT t1.*
FROM Table t1
JOIN (SELECT EntryID, MAX(version) maxversion
FROM Table
WHERE EntryID IN (212, 451)
GROUP BY EntryID) t2
ON t1.EntryID = t2.EntryID AND t1.version = t2.maxversion

关于mysql - 如何查询一个字段与另一个字段相关的最大值?分组依据不起作用? (MySQL),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21923459/

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