解决方案 »

  1.   

    TOP只是用来限定返回的行数。。
      

  2.   

    SELECT bh ,max(mc) , sum(sl) from ts group by bhORSELECT bh ,min(mc) , sum(sl) from ts group by bh
      

  3.   

    谢谢楼上的。
    刚仔细看了一下MS的帮助,确实MAX/MIN函数的参数可以使用字符串。
      

  4.   

    Create table ts
    (
    bh int,
    mc  varchar(20),
    sl int)insert into ts values (11,'bird',22)
    insert into ts values (22,'dog',96)
    insert into ts values (11,'bird',35)
    select bh,mc,sl,sum(sl)over(partition by bh)as 汇总 from tsbh          mc                   sl          汇总
    ----------- -------------------- ----------- -----------
    11          bird                 22          57
    11          bird                 35          57
    22          dog                  96          96(3 行受影响)
      

  5.   

    楼上是Oracle的,外面再加一个嵌套查询就OK了。非常感谢。
      

  6.   

    ACCESS中FIRST()函数是在查询结果集中取第一个记录的字段值。在SQL中是没有对应函数的(自定义函数除外),在sql中可以通过 TOP 1  order by , max,min来实现相同的功能。
      

  7.   

    SELECT bh ,min(mc) , sum(sl) from ts group by bh
      

  8.   

    SQL SERVER里字符串的聚合只有COUNT、MAX、MIN可用。想达到你要的效果可以自己写CLR函数。