现在的位置: 首页 > 综合 > 正文

sql先排序后分组的实现

2013年10月12日 ⁄ 综合 ⁄ 共 1049字 ⁄ 字号 评论关闭

有这样一个数据库表  
  t1             t2           t3……n  
  --------------------------  
  aaa           100         剩余字段  
  bbb           80           剩余字段  
  aaa           90           剩余字段  
  ccc           70           剩余字段  
  ccc           500         剩余字段  
  ccc           20           剩余字段  
  bbb           30           剩余字段  
  bbb           40           剩余字段  
  bbb           50           剩余字段  
   
  我希望的最后结果就是:  
  t1     t2     t3……n  
  ------------------  
  ccc   500   剩余字段  
  aaa   100   剩余字段  
  bbb   80     剩余字段  
   
  也就是以t1分组,取每组中t2最大的记录  
   
  帮我看看被怎么写  
  搞不定了  
  先谢谢了      
 

以下为回复: 
 1楼 2006-09-15 18:07 flyzq  [引用] [回复] 
 
select   a.*   from   table   a,(select   t1,max(t2)   as   t2   from   table   group   by   t1)   b   where   a.t1=b.t1   and   a.t2=b.t2
 
 
 
 2楼 2006-09-15 18:15 kbxj406  [引用] [回复] 
 
SELECT   table.*  
  FROM   table   T1   INNER   JOIN  
                      (SELECT   t1,   MAX(t2)   AS   t2  
                    FROM   T1  
                    GROUP   BY   t1)   T2   ON   T1.t1   =   T2.t1   AND   T1.t2   =   T2.t2  

 
 
 

本篇文章来自<A href='http://www.soidc.net'>IDC专家网</a> 原文链接:http://www.soidc.net/discuss/5/060915/17/416575_1.html

抱歉!评论已关闭.