如何按照某字段排序后删除一部分记录,如按照id排序删除最小的10个

boyhappyboy 2006-12-02 01:28:22
如何按照某字段排序后删除一部分记录,如按照id排序删除最小的10个
...全文
240 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
sybasedba 2006-12-04
  • 打赏
  • 举报
回复
sybase在目前所有的版本中都不支持在派生表中使用top n的语法。从12.5.3开始可以在
正常的查询语句中使用top n.
boyhappyboy 2006-12-03
  • 打赏
  • 举报
回复
楼上的方法不行,我的sybase不支持top
问题已经解决:
这里我的id是identity的所以是连续的。常数是一个int的数字表示一次删除的数量。
sybase有些东西没有mssql好用。呵呵,也许是我还不熟悉。
delete from table where id<(select min(id)+常数 from table)
wmyunfei 2006-12-02
  • 打赏
  • 举报
回复
delete from table where field in (select top * from table order by field)
boyhappyboy 2006-12-02
  • 打赏
  • 举报
回复
同样的语句希望sybase和mssql都可以执行。程序在windowns和unix下用不同的数据库。使用的sybase 版本不支持 top

2,596

社区成员

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

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