gpt4 book ai didi

mysql - 删除所有行并保留最新的 x

转载 作者:行者123 更新时间:2023-11-29 01:47:24 26 4
gpt4 key购买 nike

我有一张 table

entryid,  roomid
1 1
2 55
3 1
4 12
5 1
6 44
7 1
8 3
9 1

现在我想删除 roomid = 1 的所有条目并保留roomid = 1 剩下的最新 3 个(最好只用一个命令)

所以最后 entryid: 1 和 3 被删除了,entryid 6、7、9 保持不变(确保所有其他 roomid 仍然保留)

编辑:感谢帮助。下面我添加了我自己的解决方案,供大家感兴趣

我开始了一个new Question如何将其纳入一个命令。你可以在那里帮助我。

最佳答案

DELETE 支持 ORDER BYLIMIT 子句,所以这是可能的。但是,由于 DELETE 的引用限制和 LIMIT 的参数,您需要两次查询。

SELECT COUNT(*) AS total FROM table  WHERE roomid = 1;
-- run only if count is > 3
DELETE FROM table WHERE roomid = 1 LIMIT total - 3;

请注意,这可能需要中间技术。我已经展示了查询以供引用。

关于mysql - 删除所有行并保留最新的 x,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3312531/

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