to byrybye: 你是不是打错了order by--->group by 可sum()不用group by 也能执行,不信你试试 to sunsol: 出错原因不详,是不是你的where语句有问题
select sum(num) from table where 时间段 --------------------------------^^^^^^你要小心时分秒不要直接用=
我的SQL语句不会错的 select count(*),cum(col),code from table where time between start and end group by code 只是发现两次执行的结果不一样 因为第一次返回的数据集里有个别几条记录 和第二次返回的数据集差别很大 两次执行之间相隔时间较长,但确定表没有加减记录和更改过 由于当时没有发现所以不知道第一次执行的出现错误数据是什么原因 所以想问问有没有可能出现类似 用sum(float)浮点计算错误这样潜在的问题需要注意的
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,好象会出一些莫名其妙的问题,我改成这样就没有问题了
你是不是打错了order by--->group by
可sum()不用group by 也能执行,不信你试试
to sunsol:
出错原因不详,是不是你的where语句有问题
--------------------------------^^^^^^你要小心时分秒不要直接用=
我的SQL语句不会错的
select count(*),cum(col),code from table
where time between start and end
group by code
只是发现两次执行的结果不一样
因为第一次返回的数据集里有个别几条记录
和第二次返回的数据集差别很大
两次执行之间相隔时间较长,但确定表没有加减记录和更改过
由于当时没有发现所以不知道第一次执行的出现错误数据是什么原因
所以想问问有没有可能出现类似
用sum(float)浮点计算错误这样潜在的问题需要注意的
where time between start and end
group by code你不要用between...and 语句,而是用 where time > start and time <end
group by code
看一看我原来用过between,好象会出一些莫名其妙的问题,我改成这样就没有问题了
o,between有问题?是不是边界的问题?
换一个名子如start_1 end_1
不过不应该是,我也觉得应该先怀疑自己!在任何程序设计时都应该这样。
where [time] between [start] and [end]
group by code
时间段 --> convert(char(10),rq,111) ....
用这样的语句去对付,如果还出错就应该是客户机有病毒或WINDOWS的数据访问部件坏了。