求教一个问题,SQL循环执行
时间:2011-11-07
来源:互联网
date 字段
2011-01-01 xxx
2011-01-01 xxx
2011-01-01
2011-01-02
2011-01-02
....
.....
2011-11-07
我现在想按日期进行删除 ,只删除一天当中记录数的固定百分比,从2011-01-01 一直执行到2011-11-07,每天的记录数是不固定的,怎么写,谢谢
在线等
作者: wrd74 发布时间: 2011-11-07
作者: fredrickhu 发布时间: 2011-11-07
作者: qianjin036a 发布时间: 2011-11-07
作者: ssp2009 发布时间: 2011-11-07
delete from tb where id in( --id列为唯一性列 select id from( select id,row_number()over(partition by date order by newid())rn,(select count(*) from tb where date=a.date)ct from tb a )t where rn*100/ct<=80 --删除80%
作者: qianjin036a 发布时间: 2011-11-07
作者: wrd74 发布时间: 2011-11-07
作者: fredrickhu 发布时间: 2011-11-07
这方法比较好用的方法NTILE()--按百分比删除 --> --> (Roy)生成測試數據 if not object_id('Tempdb..#T') is null drop table #T Go Create table #T([date] Datetime) Insert #T select '2011-01-01' union all select '2011-01-01' union all select '2011-01-01' union all select '2011-01-01' union all select '2011-01-01' union all select '2011-01-01' union all select '2011-01-01' union all select '2011-01-01' union all select '2011-01-01' union all select '2011-01-01' union all select '2011-01-02' union all select '2011-01-02' Go delete t from (Select *,NTILE(10)over(partition by [date] order by [date]) as row from #T)t where row<=8---删除80% select * from #T
作者: roy_88 发布时间: 2011-11-07
作者: roy_88 发布时间: 2011-11-07

作者: iymmgd 发布时间: 2011-11-07
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28