没有这种问题,
你加个ORDER BY 
在试试

解决方案 »

  1.   

    to byrybye:
    你是不是打错了order by--->group by
    可sum()不用group by 也能执行,不信你试试
    to sunsol:
    出错原因不详,是不是你的where语句有问题
      

  2.   

    select sum(num) from table where 时间段
    --------------------------------^^^^^^你要小心时分秒不要直接用=
      

  3.   


    我的SQL语句不会错的
    select count(*),cum(col),code from table 
    where time between start and end
    group by code
    只是发现两次执行的结果不一样
    因为第一次返回的数据集里有个别几条记录
    和第二次返回的数据集差别很大
    两次执行之间相隔时间较长,但确定表没有加减记录和更改过
    由于当时没有发现所以不知道第一次执行的出现错误数据是什么原因
    所以想问问有没有可能出现类似
    用sum(float)浮点计算错误这样潜在的问题需要注意的
      

  4.   

    select count(*),cum(col),code from table 
    where time between start and end
    group by code你不要用between...and 语句,而是用 where time > start and time <end
    group by code
    看一看我原来用过between,好象会出一些莫名其妙的问题,我改成这样就没有问题了
      

  5.   


    o,between有问题?是不是边界的问题?
      

  6.   

    遇到这种情况,你可用别的语句代替where中的条件,如用>,<代替between...and...看看结构如何,(时间start最好用'##/##/####')如还有问题,你就应该看看你表中的数据了
      

  7.   

    start end 你的字段怎么这么起名?
    换一个名子如start_1 end_1
      

  8.   

    是不是你的数据有问题,用sum(isnull(,))试试。
    不过不应该是,我也觉得应该先怀疑自己!在任何程序设计时都应该这样。
      

  9.   

    如果任何 BETWEEN 或 NOT BETWEEN 谓词的输入为 NULL,则结果是 UNKNOWN,很可能是因为 NULL 值得原因,你在测试一下。
      

  10.   

    SQL SERVER有时是会出比较妖的事,有一回我见过一个表,无征兆的,就无法更新了。备份再恢复,又好了。
      

  11.   

    保险一点,与关键字冲突的加上[]:select count(*),sum(col),code from [table] 
    where [time] between [start] and [end]
    group by code
      

  12.   

    用between是会有些莫名其妙的错误,用time> start and time <end 效果较好
      

  13.   

    select sum(num) from table where 时间段sum(num) --> sum(isnull(num,0)
    时间段 --> convert(char(10),rq,111) ....
    用这样的语句去对付,如果还出错就应该是客户机有病毒或WINDOWS的数据访问部件坏了。