gpt4 book ai didi

mysql - 自引用表以获取未修改的记录

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

我正在使用一个记录未更新的表。当发生更改时,会插入新的修订版本。修订通过序列字段和位置字段关联,这意味着同一表中的主记录及其相应修订在该位置内具有唯一的序列号,但该序列可以在另一个位置重用。每次修订版本字段都会增加 1。

我正在尝试选择状态为 4、5 或 6 的所有记录,其中没有其他记录的修订号高于其序列号和位置匹配的自身修订号。我不确定如何执行此操作。

CREATE TABLE `table` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`serial` int(10) NOT NULL DEFAULT '0',
`location` int(10) NOT NULL DEFAULT '0',
`revision` int(3) NOT NULL DEFAULT '0',
`status` int(1) NOT NULL DEFAULT '0',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 ;

最佳答案

您需要使用子查询:

已更新

SELECT * FROM table t1
WHERE location = 'location'
AND status IN (4,5,6)
AND revision = (SELECT MAX(revision) FROM table t2 WHERE t2.serial = t1.serial AND t2.location = t1.location)

关于mysql - 自引用表以获取未修改的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14569326/

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