当前位置: 首页 > 面试题库 >

从MySQL中的表中删除N个旧记录

龙佐
2023-03-14
问题内容

我有一个这样的 LoginTime 表:

id | user_id | datetime
1  |   1     | 2011-01-19 18:51:01
2  |   1     | 2011-01-19 18:51:02  
3  |   1     | 2011-01-19 18:51:03  
4  |   1     | 2011-01-19 18:51:04  
5  |   1     | 2011-01-19 18:51:05  
6  |   1     | 2011-01-19 18:51:06  
7  |   1     | 2011-01-19 18:51:07  
8  |   1     | 2011-01-19 18:51:08  
9  |   1     | 2011-01-19 18:51:09  
10 |   2     | 2011-01-19 18:51:10

我只想保留5条最新记录(按“ datetime”列),并删除所有以前的记录,其中 user_id=1

是否可以通过一个mysql查询来实现?


问题答案:

我相信这会奏效…

DELETE FROM LoginTime WHERE id IN (
     SELECT id
     WHERE user_id = 1
     ORDER BY datetime DESC
     LIMIT 0, 5
)


 类似资料:
  • 问题内容: 这是我想做的事情: 从表中删除一个项目,并在表中删除与该项目关联的所有图像。 可以说 此查询有什么问题? 问题答案:

  • 问题内容: 这是正确的方法吗? 问题答案: 对,那是正确的。在这里工作正常: 如果对您不起作用,则可以修改此示例以显示您遇到的问题。

  • 本文向大家介绍从表中删除记录,其中相关面试题,主要包含被问及从表中删除记录,其中时的应答技巧和注意事项,需要的朋友参考一下 尝试首先选择最大组,然后将其用作子查询。 编辑:

  • 问题内容: 我试图一次从几个表中删除。我做了一些研究,并提出了 但是,我收到此错误 未捕获的Database_Exception [1064]:您的SQL语法有错误;检查与您的MySQL服务器版本相对应的手册以获取正确的语法,以在’p,pa … 附近使用… 我以前从未做过跨表删除操作,所以我现在还没有经验,并且一直坚持下去! 我究竟做错了什么? 问题答案: 在语句中使用a 。 另外,您可以使用…

  • 我正在创建一个脚本,用于将一个参数传入MySQL查询,然后执行该MySQL查询以从多个表中删除多条记录。 现在我遇到了一个问题,我需要为每个单独的表创建多个文件。是否有一种方法可以在一个文件中执行每个MySQL查询,而不是为每个查询创建多个文件? 以下是我创建的代码:

  • 问题内容: 我有一张叫的桌子。 它包含名为和的字段。现在,我想从表中删除所有包含表中已经包含的名字和姓氏的记录。 我使用mysql数据库,并且是表中的主键。 问题答案: 删除之后,将删除所有重复项,并为您提供最新的CustomerID 虽然有警告提示。我不知道您的用例,但是完全可以让两个人使用完全相同的名字(我们甚至一次都具有相同的地址)。