select 卡号,max(交易时间) 交易时间 from a where 交易时间<to_date('2004-04-01','yyyy-mm-dd') group by 卡号 
union 
select 卡号,min(交易时间) 交易时间 from a where 交易时间>to_date('2004-04-01','yyyy-mm-dd') group by 卡号 

解决方案 »

  1.   

    create table test (
    card varchar2(10),
    dealtime date
    );
    insert into test values ('kh1',to_date('2004-03-26','YYYY-MM-DD'));
    insert into test values ('kh1',to_date('2004-03-27','YYYY-MM-DD'));
    insert into test values ('kh1',to_date('2004-03-28','YYYY-MM-DD'));
    insert into test values ('kh1',to_date('2004-04-26','YYYY-MM-DD'));
    insert into test values ('kh2',to_date('2004-03-20','YYYY-MM-DD'));
    insert into test values ('kh2',to_date('2004-03-19','YYYY-MM-DD'));
    insert into test values ('kh2',to_date('2004-04-02','YYYY-MM-DD'));select card,to_char(min(dealtime),'YYYY-MM-DD') from test where dealtime>to_date('2004-04-01','YYYY-MM-DD') group by card
    union
    select card,to_char(max(dealtime),'YYYY-MM-DD') from test where dealtime<to_date('2004-04-01','YYYY-MM-DD') group by card;
    接分!
      

  2.   

    select card,to_char(min(dealtime),'YYYY-MM-DD') from test where dealtime>to_date('2004-04-01','YYYY-MM-DD') and rownum=2 group by card
    union
    select card,to_char(max(dealtime),'YYYY-MM-DD') from test where dealtime<to_date('2004-04-01','YYYY-MM-DD') and rownum=2 group by card;