我有一个 mysql 表,用于跟踪用户首选项。 该表由 user_id、名称和时间戳组成
(user_id,名称为PK)
如果条目已存在,我会将时间戳更新为当前时间
现在,我希望每个用户的 150 个最新条目处于事件状态。 每次用户登录时,我想运行查询来删除所有要删除的条目。
但是,我无法理解实现类似功能的删除查询。
有什么帮助吗?
最佳答案
我编辑了答案。我告诉你删除最近的 150 行,这不是你想要的。以下是删除所有其他行的方法:
DELETE FROM preferences WHERE user_id NOT IN (SELECT user_id FROM preferences ORDER BY timestamp DESC LIMIT 150)
关于mysql - 每个用户保留 150 个最新条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8787688/