gpt4 book ai didi

mysql - 为每个组选择具有最高值的整个记录

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

我的 CMS 将页面及其过去的版本存储在同一个表中。我想通过 productID 提取每条记录的最新版本。对于:

productID version name text  price etc etc
ABC123 1.2 Fred Stuff 2.34 ... ...
DEF456 0.3 Jill Other 1.99 ... ...
ABC123 1.3 Fred Stuff 2.99 ... ...
DEF456 0.4 Jill Other 2.50 ... ...
ABC123 1.4 Fred Stuff 3.45 ... ...

我需要得到:

ABC123       1.4  Fred Stuff 3.45  ... ...
DEF456 0.4 Jill Other 2.50 ... ...

(任何顺序)。我已经尝试了各种变体

select distinct(version),* group by productID,max(version) from table;

但我不知道该怎么做。 “选择最高”的其他答案都是关于计数和总和的;我只需要完整的记录。

最佳答案

交叉应用会很好用,除了这是 mySQL...所以

您需要生成一组数据,其中包含表的逻辑键和您感兴趣的最大值。然后加入回基集。

因此 SELECT max(version) mv, productID from table group by productID 为我们获取了每个 productID 的最大版本,然后我们可以将其加入到基集中以获取所需的其他数据。

SELECT *
FROM Table A
INNER JOIN (SELECT max(version) mv, productID
FROM table
GROUP BY productID) B
on A.ProductID= B.ProductID
and A.Version = B.MV

关于mysql - 为每个组选择具有最高值的整个记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45283244/

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