在没有主键的情况下定量删除数据!
2010-11-12 10:15
239 查看
整行语句:
select * from dbo.FreightRate where enabled=0 and createddate < (select max(createddate) as mx from (select top 100 createddate from dbo.FreightRate where order by createddate)a)
分解说明:
-- 按时间取前100条数据
1.select top 100 createddate from dbo.FreightRate where order by createddate
--取当前100条数据中最大的时间
2.select max(createddate) as mx from (select top 100 createddate from dbo.FreightRate where order by createddate)a
--再小于等于最大时间,注意一定要小于等于,才包括这个时间的全部数据
3.Delete from dbo.FreightRate where createddate <= (select max(createddate) as mx from (select top 100 createddate from dbo.FreightRate where order by createddate)a)
缺点:此方法是通知读取一定范围内的最大时间来确定数据集大小的。因此不一定总是前面子查询中的TOP100,实际会大于此数据集。本查询不适用于大量相同值的createddate表,否则就此方法定量也无从谈起。
select * from dbo.FreightRate where enabled=0 and createddate < (select max(createddate) as mx from (select top 100 createddate from dbo.FreightRate where order by createddate)a)
分解说明:
-- 按时间取前100条数据
1.select top 100 createddate from dbo.FreightRate where order by createddate
--取当前100条数据中最大的时间
2.select max(createddate) as mx from (select top 100 createddate from dbo.FreightRate where order by createddate)a
--再小于等于最大时间,注意一定要小于等于,才包括这个时间的全部数据
3.Delete from dbo.FreightRate where createddate <= (select max(createddate) as mx from (select top 100 createddate from dbo.FreightRate where order by createddate)a)
缺点:此方法是通知读取一定范围内的最大时间来确定数据集大小的。因此不一定总是前面子查询中的TOP100,实际会大于此数据集。本查询不适用于大量相同值的createddate表,否则就此方法定量也无从谈起。
相关文章推荐
- 错误修正:多行所有数据重复,无法更新或删除问题,通常是在没有主键的情况下的表.
- sqlserver中多行所有数据重复,无法更新或删除问题,通常是在没有主键的情况下的表
- 数据库表没有单一主键时,可以使用ROWID作为主键删除数据(Oracle)
- SQL2008 没有主键的情况下删除重复的行
- sqlserver中如何删除没有主键的重复数据。
- MSSQL如何在没有主键的表中删除重复数据
- sql在没有主键的情况下删除表中的重复字段
- 删除没有主键的表中的重复数据
- 在没有备份情况下误删除数据文件的恢复
- MSSQL如何在没有主键的表中删除重复数据
- postgres数据库没有主键情况下取前几行数据然后对某列值求和
- 关于jfinal,数据表没有设置id为主键报错的情况
- sql server 2005 中数据库表 的创建 ,查看表 属性,表的名称重命名,情况表中信息,删除表 ; 表中列重命名,添加新列,修改列的数据类型,删除列,设置列的主键外键
- SQL查找数据库中所有没有主键的数据表脚本
- BOS元数据中不小心没有删除外键,升级后在查询分析器中手动删除表外键
- Oracle数据库重复数据删除的三种情况
- mysql新建数据表后打开提示没有主键
- 不删除数据的情况下重置AUTO_INCREMENT的方法
- 删除整张表数据但是空间没有减少
- 导入的数据,删除约束后没有自动删除对应索引,重建约束出错