再发一遍吧,求一句delete的sql语句

来源:百度知道 编辑:UC知道 时间:2024/05/20 07:46:04
有一个表

ID是有重复的,我只要删除前面100行的数据,请问这么写

问题补充:没有主键,ID 是可以重复的 ~
有人这样写
delete from table_1 where id in (select top 100 id from table_1)

比如第一行的ID 是5, 101行的ID 也是5,这种写法会把101 行的也删除的啊 ~!!!1
这种写法应该有问题吧 ~!!!!!
----------------------------------------------------
ID还能重复就失去数据库中ID这个关键字段的作用了 把ID设为不能重复,最好不要赋予业务涵义 至于以前的ID的业务你可以多加个字段 这样不就解决问题了吗!
--------------------------------------------------
关键是现在的数据就是这样的 ,数据库不是我的,我怎么能随便加。~~~~~

正确的是这样的: delete from table_1 where rownum<100;

同时说一下,楼上说的rowid是不可行的,因为rowid数据类型是字条串,

delete from table_1 where id in
(select id from table_1
group by id
order by id desc
having rownum<100)

你如果是sqlserver的话看以前的提问,我的方法是完美解决,你要一句SQL是没有办法办到的

exists ??写这语句的纯粹是在害人!!!exists 只要是真值就会把所有的数据给删除!!!

你问过了..我也回答过了.. 用 exists

你找你以前的问题

ID还能重复就失去数据库中ID这个关键字段的作用了 把ID设为不能重复,最好不要赋予业务涵义 至于以前的ID的业务你可以多加个字段 这样不就解决问题了吗!

用rowid和rownum