gpt4 book ai didi

mysql - 删除两个连接的 MySQL 表中除 X 个最新条目之外的所有条目

转载 作者:行者123 更新时间:2023-11-30 01:32:53 25 4
gpt4 key购买 nike

我正在尝试一个查询,我将使用它来修剪两个相关的 mysql 表。我将用它来删除除最新条目之外的所有条目。

此查询的行为完全符合我的预期:

SELECT
O.id AS O_id,
T.id AS T_id
FROM
rt.ObjectCustomFieldValues AS O
LEFT JOIN rt.Transactions AS T
ON O.id = T.NewReference
WHERE
O.Disabled = 1
AND O.CustomField = 58
AND O.ObjectId = 202784
AND T.id NOT IN (
SELECT
id
FROM
(
SELECT
id
FROM
Transactions
WHERE
Field = 58
AND ObjectId = 202784
ORDER BY
Created DESC
LIMIT 5
) Test
)

对于包含 ObjectId 202784 的行,我获取除最近 5 个项目之外的所有项目的 ObjectCustomFieldValues id 和事务 id。

现在如何将其转换为可以在所有行上运行的通用查询,而不是手动指定 ObjectId?

总而言之,对于字段 id 58,我想迭代所有 ObjectId 值,并为每个值删除除最新的 ObjectCustomFieldValues 和事务之外的所有值。

您可以在此处查看架构详细信息:
https://github.com/bestpractical/rt/blob/stable/etc/schema.mysql#L112

这里:

https://github.com/bestpractical/rt/blob/stable/etc/schema.mysql#L328

最佳答案

如果您的结构没有使用 UNIX_TIMESTAMP()INSERT数据,这可能会很困难,具体取决于您的整个数据库结构顺序。如果添加UNIX_TIMESTAMP(),则无论如何都可以正确使用ORDER BY

关于mysql - 删除两个连接的 MySQL 表中除 X 个最新条目之外的所有条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17245278/

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