删除全部数据,但保留最后添加的10条,SQL语句怎么写?在线等!

mfkiqpl 2007-08-29 02:39:33
RT,
删除一个表的全部数据,仅保留最后添加的10条。
求个SQL。。
这样写行不通:
delete from `onlist` where `id` not in (select `id` from `onlist` order by `id` desc limit 10)
...全文
722 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
青锋-SS 2007-08-29
  • 打赏
  • 举报
回复
谢谢楼主,多了个角角
mfkiqpl 2007-08-29
  • 打赏
  • 举报
回复
不等了。。谢谢: yueliangdao0608

结贴了
mfkiqpl 2007-08-29
  • 打赏
  • 举报
回复
谢谢:yueliangdao0608
你的是建临时表,如果没有更好的办法,就只有用你这个办法了。。

再等等看有没有更好的办法。。


回:sdhylj(青锋-SS)
与TOP类似的写法就是limit 。但子查询里不能用 limit
青锋-SS 2007-08-29
  • 打赏
  • 举报
回复
?
青锋-SS 2007-08-29
  • 打赏
  • 举报
回复
没有类似的语句,就像你写的limit
懒得去死 2007-08-29
  • 打赏
  • 举报
回复
MYSQL暂时不支持子查询中引用自己的字段。

不过有折中的方案:


mysql> select * from table_a;
+----+-----------+------+
| id | parent_id | name |
+----+-----------+------+
| 0 | -1 | - |
| 1 | 0 | a |
| 2 | 1 | b |
| 3 | 1 | c |
| 4 | 1 | d |
| 5 | 2 | e |
| 6 | 2 | f |
| 7 | 3 | g |
| 8 | 4 | h |
| 9 | 6 | i |
| 10 | 8 | j |
| 11 | 9 | k |
| 12 | 11 | l |
+----+-----------+------+
13 rows in set (0.00 sec)

mysql> create temporary table tmp select * from table_a order by id desc limit 1
0;
Query OK, 10 rows affected (0.16 sec)
Records: 10 Duplicates: 0 Warnings: 0

mysql> truncate table table_a;
Query OK, 13 rows affected (0.08 sec)

mysql> insert into table_a select * from tmp;
Query OK, 10 rows affected (0.05 sec)
Records: 10 Duplicates: 0 Warnings: 0

mysql> select * from table_a;
+----+-----------+------+
| id | parent_id | name |
+----+-----------+------+
| 3 | 1 | c |
| 4 | 1 | d |
| 5 | 2 | e |
| 6 | 2 | f |
| 7 | 3 | g |
| 8 | 4 | h |
| 9 | 6 | i |
| 10 | 8 | j |
| 11 | 9 | k |
| 12 | 11 | l |
+----+-----------+------+
10 rows in set (0.00 sec)

mysql>
mfkiqpl 2007-08-29
  • 打赏
  • 举报
回复
谢谢楼上两位。。但我要的是MYSQL。。MYSQL里不能用TOP
青锋-SS 2007-08-29
  • 打赏
  • 举报
回复
delete from onlist where id not in (select TOP 10 id from onlist order by id desc)
不过这是ms sql的写法不知道是否适合你的情况
青锋-SS 2007-08-29
  • 打赏
  • 举报
回复
delete from onlist where id not in (select TOP 10 id from onlist order by id desc)
内容概要:本文详细介绍了Anaconda的下载、安装与配置方法(2025最新版)。Anaconda是一个开源的Python/R数据科学集成开发平台,预装了1500多个科学计算库,并提供conda包管理和环境管理功能。文章首先列出了系统要求,接着分别讲述了适用于不同操作系统的下载方式,包括官方下载和国内镜像下载。然后,具体讲解了Windows、macOS和Linux三种操作系统的安装步骤,以及环境变量的手动配置方法。此外,还提供了验证安装是否成功的命令和配置国内镜像源的方法,以提高下载速度。最后,列出了一些常用conda命令和常见问题的解决方案。 适合人群:从事数据科学、机器学习领域的研究人员和开发者,特别是需要频繁使用Python科学计算库的用户。 使用场景及目标:①帮助用户快速搭建Python开发环境,尤其是需要多个Python版本共存或隔离环境的情况下;②解决因网络原因导致的下载速度慢的问题;③提供详细的安装指南,确保安装过程顺利进行;④指导用户正确配置环境变量,避免常见的安装后无法使用的错误。 阅读建议:由于Anaconda涉及多平台安装和配置,建议读者根据自己的操作系统选择相应的章节重点阅读,并严格按照步骤操作。对于初次使用者,建议先从简单的安装入手,再逐步学习环境管理和包管理的相关命令。

56,937

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧