两个sql,很简单的语法
高手帮看看两个哪个更快,为什么
thx~SELECT T1.*,T2.A2 AS A3 FROM qqqqqqqqqqqqqq T1
LEFT JOIN (SELECT MIN(A1) AS A1,A2 FROM qqqqqqqqqqqqqq T1
GROUP BY A2)T2 ON T2.A1=T1.A1SELECT T1.*,T2.A2 AS A3 FROM qqqqqqqqqqqqqq T1
LEFT JOIN (SELECT A1,A2 FROM
(SELECT *,ROW_NUMBER() OVER (PARTITION BY A2 ORDER BY A1) AS 'RowNumber'
FROM qqqqqqqqqqqqqq)RR
WHERE RR.ROWNUMBER=1)T2 ON T2.A1=T1.A1

解决方案 »

  1.   

    试下以下语句的性能
    SELECT T1.*
    ,case when not exists (
      select 1
      from qqqqqqqqqqqqqq T2
      where T2.A1<T1.A1
      and T2.A2 = T1.A2
      ) then T2.A2 else NULL end AS A3 
    FROM qqqqqqqqqqqqqq T1 
      

  2.   

    你把两个语句放在一个查询窗口中,然后按ctrl+L,看看哪个占百分比小哪个就快
      

  3.   

    更正4楼语句
    SELECT T1.*
    ,case when not exists (
      select 1
      from qqqqqqqqqqqqqq T2
      where T2.A1<T1.A1
      and T2.A2 = T1.A2
      ) then T1.A2 else NULL end AS A3 
    FROM qqqqqqqqqqqqqq T1 
      

  4.   

    性能的确比原先的两个都好
    thx