请教聚合查询中,字段长度最小的那条记录,示例数据如下:
typeID,   tyepname                           表名:computerinfo 
 001               联想品牌笔记本 
 001               联系T23笔记本 
 001               联想笔记本 
 002               DELL台式电脑 
 002               DELL品牌电脑 
 002               台式电脑   
 1.要查询的结果是: 
 001         联想笔记本 
 002         台式电脑 
 查询条件:   根据   typeID   分组,typename   字段长度最小的那个. 
 我写的SQL语句为:    
 select   typeID,   min(typename)   from   computerinfo   group   by   typeID 
 查询出来的结果中,typename   是根据拼音来的. 
 select   typeID,   min(len(typename))   from   computerinfo   group   by   typeID 
 可以把字段长度最小的查出来,但显示的是长度.有没有更好的方法来解决?   
 2.要查询出来的结果是: 
 001      笔记本 
 002      电脑 
 查询条件:   根据typeID   分组,   typename   字段中,都连续出来的部分 
------解决方案--------------------  select * from computerinfo as A 
 where not exists(select 1 from computerinfo where typeID=A.typeID and len(tyepname) <len(A.tyepname))
------解决方案--------------------我利用臨時表 
 select typeID,lent=min(len(typename))  
 into #abc 
 from computerinfo group by typeID   
 select t1.*from computerinfo t1, #abc t2  
 where  t2.lent=len(typename) and t1.typeID=t2.typeID