sql先排序后分组的实现

有这样一个数据库表  
  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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值