select top 1 * from tablename
select * from tablename where autoid in(select min(autoid) from tablename)

解决方案 »

  1.   

    我的意思是找出SchoolName相同时,schoolByName   最长的那条数据。
      

  2.   

    declare @tab table(autoid varchar(20),schoolByName varchar(20),SchoolName varchar(20),SchoolBenelux varchar(20))
    insert @tab values('8659','哈尔滨工业大学','工大','哈工大')
    insert @tab values('8660','工业大学','工大','哈工大')
    insert @tab values('8661','哈工大','工大','哈工大')
    insert @tab values('8662','哈工','工大','哈工大')
    select * from @tab where autoid in
    (select top 1 autoid from @tab a where a.SchoolName=SchoolName order by len(schoolByName) desc)
      

  3.   

    select *from table group by schoolname having max(len(schoolbyname))
      

  4.   

    select schoolByName,
    from 表
    group by schoolname 
    having len(schoolbyname)=max(len(schoolbyname))
      

  5.   

    TO:aw511(点点星灯) 
    老大,我数据库里不仅仅只有一个学校的数据哈。还有其它学校的。autoid    schoolByName     SchoolName SchoolBenelux
    8659 哈尔滨工业大学 工大 哈工大
    8660 工业大学 工大 哈工大
    1259     北大               北大              北大
    134      北京大学           北大             北大
      

  6.   

    TO: winehero(编程人生)服务器: 消息 8120,级别 16,状态 1,行 1
    列 'Univ_Seek_School.SchoolByname' 在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在 GROUP BY 子句中。
    服务器: 消息 8121,级别 16,状态 1,行 1
    列 'Univ_Seek_School.SchoolByname' 在 HAVING 子句中无效,因为该列既不包含在聚合函数中,也不包含在 GROUP BY 子句中。
      

  7.   

    TO:  zzxiaoma(小马) 
    一直提示:服务器: 消息 170,级别 15,状态 1,行 1
    第 1 行: ')' 附近有语法错误。
      

  8.   


    declare @tab table(autoid varchar(20),schoolByName varchar(20),SchoolName varchar(20),SchoolBenelux varchar(20))
    insert @tab values('8659','哈尔滨工业大学','工大','哈工大')
    insert @tab values('8660','工业大学','工大','哈工大')
    insert @tab values('8661','哈工大','工大','哈工大')
    insert @tab values('8662','哈工','工大','哈工大')
    insert @tab values('8663','哈工kkkkkkkkk','工大1','哈工大2')
    insert @tab values('8664','哈工kk','工大1','哈工大2')
    insert @tab values('8665','哈工ggggggggggfff','工大1','哈工大2')select * from @tabselect *,[排名]=(select count(1) from @tab where SchoolName=a.SchoolName and len(a.schoolByName)<=len(schoolByName)) 
     from @tab a--你要的结果
    select * from (
    select *,[排名]=(select count(1) from @tab where SchoolName=a.SchoolName and len(a.schoolByName)<=len(schoolByName)) 
     from @tab a ) b where b.排名=1