0

我有一个表,其中包含 150 条记录,并且类似地对应的 150 行在那里,但现在我只想保留它的前 10 行并删除其余的剩余行,所以总共应该有 10 行,请告知如何实现这一点,我使用oracle作为数据库。

4

2 回答 2

9

您可以使用带有 rowid 的子查询来识别要保留的记录:

delete from mytab where rowid not in 
  (select rowid from mytab where rownum < 11);

Rownum 是一个 Oracle 伪列,用于对结果集中的行进行编号 - 内部查询使用它来将结果计数限制为 10。

于 2013-05-25T07:35:50.590 回答
0

您可以有一列保持编号。表中的行数并构建一条 SQL 语句,命令删除计数为 no 的行。大于 10。

于 2013-05-25T07:28:04.070 回答