有2个表A、B
A表有字段a1 a2 a3 a4 time
B 表有字段b1查询要求:
1、a1=b1
2、time时间最近说明A、B数据量都非常大,需求最优语句

解决方案 »

  1.   

    select a.*,b.* from A inner join B on a.a1=b.b1 where a. time =(select max(time) from B)
      

  2.   

    select a.*,b.* from A inner join B on a.a1=b.b1 where a.time=(select min(time) from B)
      

  3.   

    select a1, max(time)
    from a,b 
    where a.a1 = b.b1
    group by a1; 
      

  4.   

    select max(time) 
           from A,B 
           where A.a1 = B.b1; 
     
      

  5.   


    select max(time) from A,B where A.a1=B.b1;
      

  6.   

    have a try:select *
      from 
       (
    select a1, a2, a3, a4, time
      from (
    select a1, a2, a3, a4, time, row_number() over(partition by a1 order by time desc) rn
      from a
       )
     where rn = 1
      ) A, B
     where a.a1 = b.b1
     
      

  7.   

    select max(time) from a , b where a.a1 = b.b1
      

  8.   

    select * from a left join b on a.a1=b.b1 and b.time=(select max(time) from a)
      

  9.   


    select * from A left join B on a.a1=b.b1 and a.time=(select max(time) from A)