日期:2014-05-19  浏览次数:20427 次

SQL语句求助?问题解决马上给分!
我想对一张表(test表)中的num(int)字段进行求平均直,但是不能使用AVG函数,请问怎么做?
另外我还在问个问题,我想对两行数据中的同一个字段的直进行相加,这个字段是int型,请问该怎么做呢?
都用SQL语句来做,谢谢
问题解决一定给分!!

------解决方案--------------------
我想对一张表(test表)中的num(int)字段进行求平均直,但是不能使用AVG函数,请问怎么做?
-----------------------------
这样?
select sum(num)/count(num) as [avg] from test


另外我还在问个问题,我想对两行数据中的同一个字段的直进行相加,这个字段是int型,请问该怎么做呢?
-------------------------
select sum(num) as [sum] from test

------解决方案--------------------
declare @test table(id int identity,num int)
insert @test(num) select 100 union all select 200 union all select 300

--用avg時
select avg(num) as 平均值 from @test

--不用avg時,覺得沒有必要這樣做
select sum(num)/count(num) as 平均值 from @test

select sum(num) as total from @test where id=1 or id=2
------解决方案--------------------
或者是这样?
我想对一张表(test表)中的num(int)字段进行求平均直,但是不能使用AVG函数,请问怎么做?
-------------------------
declare @sum int,@cou int
select @sum = 0 ,@cou =0
select @sum=@sum +num ,@cou =@cou +1 from test
select cast (@sum/@cou as decimal(9,2)) as [avg]

另外我还在问个问题,我想对两行数据中的同一个字段的直进行相加,这个字段是int型,请问该怎么做呢?
declare @sum int
select @sum = 0
select @sum=@sum +num from test
select cast (@sum as decimal(9,2)) as [sum]

------解决方案--------------------
能解释下这个是什么意思吗?
select cast (@sum as decimal(9,2)) as [sum]
----------------
不好意思o,这个是复制上面的句子直接修改的...
这样就可以了。。。
select @sum as [sum]