大家好,请问下我有一个表.表里面其中有一列是日期数据的..
比如现在表有 2000 条数据.
我的程序需要确保数据库的大小.所以打算在每次启动时会判断表里的数据.如果数据大于 2000 条,就保留最近插入的 1000 条数据.
请问下各位,这样的 sql 语句应该怎样写? 平时没怎么接触 sql.惭愧..
比如现在表有 2000 条数据.
我的程序需要确保数据库的大小.所以打算在每次启动时会判断表里的数据.如果数据大于 2000 条,就保留最近插入的 1000 条数据.
请问下各位,这样的 sql 语句应该怎样写? 平时没怎么接触 sql.惭愧..
当STUDENT表里的记录超过5条时,仅保留最新的5笔记录。如下:
create table student(stuNo varchar2(20) primary key,stuName varchar2(50),createTime date)insert into student values('180106201','Jack',sysdate)
insert into student values('180106202','Tom',sysdate)
insert into student values('180106203','Alice',sysdate)
insert into student values('180106204','Bob',sysdate)
insert into student values('180106205','Rose',sysdate)
insert into student values('180106206','Rick',sysdate)
insert into student values('180106207','Esabella',sysdate)
insert into student values('180106208','Iris',sysdate)
insert into student values('180106209','David',sysdate)
insert into student values('180106210','Maria',sysdate)用这个SQL语句可以查询出一共有多少条记录:
select count(*) from student如果大于5的话,那么执行这条SQL语句:
delete from student where stuno not in (select stuNo from (select * from student order by createTime desc) where rownum<6)可能执行效率没那么高,但是也可以解决。这是我的拙见