求一条sql语句
时间:2011-07-13
来源:互联网
各位,需求是这样的。
表 ta 列 _id aid cid
现在想删除: 如果cid一样,那么删除这些数据中aid第20大以外的数据。
也就是说每个cid对应最多只会有20条数据。
比如:aid有1,2,3,4,****,28 cid都为2。 aid:30,31,32,*****,58 cid都为3.
那么删除aid是21到28的数据,并且删除aid是51到58的数据。
这个sql语句应该怎么写呢?
我用的是sqlite,不过数据库到是无所谓,大家还是给一下思路吧。
表 ta 列 _id aid cid
现在想删除: 如果cid一样,那么删除这些数据中aid第20大以外的数据。
也就是说每个cid对应最多只会有20条数据。
比如:aid有1,2,3,4,****,28 cid都为2。 aid:30,31,32,*****,58 cid都为3.
那么删除aid是21到28的数据,并且删除aid是51到58的数据。
这个sql语句应该怎么写呢?
我用的是sqlite,不过数据库到是无所谓,大家还是给一下思路吧。
作者: nanapoleon 发布时间: 2011-07-13
上传你的DB到www.access911.net/csdn
,用WINRAR压缩
假设AID唯一,可以用查询来解决
要重新生成1个序列号
,用WINRAR压缩
假设AID唯一,可以用查询来解决
要重新生成1个序列号
作者: WWWWA 发布时间: 2011-07-13
引用 1 楼 wwwwa 的回复:
上传你的DB到www.access911.net/csdn
,用WINRAR压缩
假设AID唯一,可以用查询来解决
要重新生成1个序列号
上传你的DB到www.access911.net/csdn
,用WINRAR压缩
假设AID唯一,可以用查询来解决
要重新生成1个序列号
实际情况可能会不一样,所以上面所说的是问题的简化,如果有什么疑问,我尽量解释清楚。。
说明下: aid不会重复。因为aid为1到28的数据cid都是2,所以由于每个cid对应的数据只能保存20个,那么,要删除掉21到28,同理,要删掉表中cid为3,aid为51到58的数据。
作者: nanapoleon 发布时间: 2011-07-13
直接上传数据库 ,节省时间,基本思路就是:根据AID、CID重新生成1个序列号
作者: WWWWA 发布时间: 2011-07-13
建立临时表以aid降序排列,以cid分组,limit 20;然后通过关联原表和临时表的aid来删除
作者: chendong_j 发布时间: 2011-07-13
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28