日期:2014-05-19  浏览次数:20468 次

SQL语句求助
A                           date                                         C    
20A             2006-07-04                               23    
19A             2006-09-03                               18    
20A             2006-09-14                               19    
19A             2006-07-04                               17    
18                 2005-09-03                             20    
20A             2006-05-03                               16    
 
要求显示如下        
A                 B                 C         date
20A         23               4             2006-07-04
19A         18               1             2006-07-04

查出最新的两条记录的C,B显示最新的C,C显示最新的B减去倒数第二新的B,不知道有没有什么好的语句。    

现在我可以查出来,但由于这个表有几十万条数据,最后的时间需花费20多秒,不知道哪位高手有没有更高效的SQL.

------解决方案--------------------

select A,max(c),count(a),max(date)
from table
group by a
------解决方案--------------------
用临时表先找出
A B date
20A 23 2006-07-04
19A 18 2006-07-04
然后再用临时表找C