现有一表,记录了合同信息,需要按照到期时间,取各种类最近的三条记录出来显示
测试代码如下:create table t_test( id number primary key not null,--主键 contract_type varchar2(10), --合同类型 contract_name varchar2(20), --合同名称 expire_date varchar2(10) --到期时间);insert into t_test values(1,'A001','A类合同','2015-06-12');insert into t_test values(2,'A001','A类合同','2015-06-11');insert into t_test values(3,'A001','A类合同','2015-06-10');insert into t_test values(4,'A001','A类合同','2015-06-09');insert into t_test values(5,'B001','B类合同','2015-06-12');insert into t_test values(6,'B001','B类合同','2015-06-11');insert into t_test values(7,'B001','B类合同','2015-06-10');insert into t_test values(8,'B001','B类合同','2015-06-09');insert into t_test values(9,'C001','C类合同','2015-06-12');insert into t_test values(10,'C001','C类合同','2015-06-11');insert into t_test values(11,'C001','C类合同','2015-06-10');insert into t_test values(12,'C001','C类合同','2015-06-09');insert into t_test values(13,'C001','C类合同','2015-06-08');复制代码我实现的SQL如下:select contract_name,expire_datefrom (select t.contract_name,t.expire_date from t_test twhere t.contract_type = 'A001'and rownum 复制代码
但这样写的SQL我觉得很臃肿,请问各位大牛,有简化的写法么?
|