50分,50分,问题一解决,马上给分!马上结贴!!!

时间:2021-04-23 21:25:13
各位老大:   
    我现在有5组数据,如下所示:
        X1     X2      X3     X4    X平均值     X极差值
(1)    1      2      3      4        2.5         3
(2)    1      2      3      4        2.5         3
(3)    1      2      3      4        2.5         3
(4)    1      2      3      4        2.5         3
(5)    1      2      3      4        2.5         3
合计     ?      ?      ?      ?         ?          ?

    这上面的每组数据都是从数据库中调出来的,现在我想对每项进行合计计算,不知有什么好的方法,让数据从库里一调出来,就自动显示合计好的数据.(图示中打问号的即为所求之值)
    在线等结果,一经测试可行,马上给50分,绝不失言!

17 个解决方案

#1


你显示记录的时候肯定有循环的,简单一点在循环的时候做个累加就行了哇

#2


sum(X1) as totalX1,sum(X2) as totalX2,sum(X3) as totalX3,sum(X4) as totalX4,sum(X平均值) as totalX平均值,sum(X极差值) as totalX值 form [你的表]

#3


作循环的时候把数值付值给变量然后循化加
dim a,sumA
sumA=0
do while not rs.eof
a=rs("x1")
sumA=sumA+a
rs.movenext
loop
response.write sumA

#4


你说的是求合计,如果是求平均值就是avg(X平均值) as 平均值1

#5


sorry,上面的from输错了。
sum(X1) as totalX1,sum(X2) as totalX2,sum(X3) as totalX3,sum(X4) as totalX4,sum(X平均值) as totalX平均值,sum(X极差值) as totalX值 from [你的表]

#6


上面只是我举的一个例子,每组数据肯定会不一样,但也有重复的时候,所以我现在只求X平均值与X极值,这个值的算法就是:X1平均值+X2平均值+X3平均值……XN平均值 / N = XX平均值
   同样,X极值与一样的求法!

#7


存到数组里面
Set rs=Server.CreateObject("ADODB.Recordset")
sql="select * from table"
rs.Open sql,conn,3,1
count=rs.RecordCount
i=0
j=0
do while not rs.eof
for j=1 to 6
tj(i,j)=tj(i,j)+1
next
rs.MoveNext
loop

#8


sql:
select avg(x1) as avgx1,avg(x2) as avgx2,avg(x3) as avgx3,avg(x4) as avgx1,avg(X平均值) as avgavgx,avg(X极差值) as avgxx from table

#9


楼上“luckyprg”的已经可以了

#10


上面的朋友说的很明白了.
用AVG函数 和 SUM函数就可以了啊

#11


我现在有N组数据,如下所示:
        X1     X2      X3     X4    X平均值     X极差值
(1)    1      2      3      4        2.5         3
(2)    2      3      4      5        3.5         3
(3)    3      4      5      6        4.5         3
(4)    4      5      6      7        5.5         3
(5)    5      6      7      8        6.5         3

合计     ?      ?      ?      ?         ?          ?
   首先谢谢各位老大的支持,但我这测试数据并不一定是5组,有可能是10组,有可能是25组,数据都是事先提交到库里的,而且每组X平均值与X极差值在提交到库时,都己经算出来了!所以现在目前是要求一个最好的办法将从X的平均值相加,如果是5组,那么合计中X平均值=SUM(X平均值)/5
如果是25组,那么X平均值=SUM(X平均值)/25  如果是30组,X平均值=SUM(X平均值)/30

jacky1_102(小蜗牛),你说用数组,可以按我说的,把程序写得更详细点吗?

我在库中定义的表为:tab_xr
字段名为:ID,x1,x2,x3,x4 xr,xr_r
请各位老大,再想点办法!

#12


上面的求值写错了!

#13


sql="select sum(x1) as a1,sum(x2) as a2,…… from [表名]"

有多少项就写多少项

#14


用sum和avg 就可以满足你的要求了.有多少项就写多少项,你总不可能不写SQL语句就调用吧

#15


各位老大:

set rs_pj=server.createobject("adodb.recordset") 
sql="select sum(xr_x) as totalxr,sum(xr_r) as totalxr2 from tab_xr_2 where xrid="&xrid 
rs_pj.open sql,con,1,1 
num=trim(rs_pj("totalxr")) 
num2=trim(rs_pj("totalxr2"))

按照你们的方法,我解决了一问题,但后面又出现了问题,现在我如果将表中XR_X与XR_R数据类型设置为VARCHAR,这是在调用时,就会出错,错误提示如下:
Microsoft OLE DB Provider for ODBC Drivers 错误 '80040e21' 
ODBC 驱动程序不支持所需的属性。 


如果我将数据类型改:FLOAT ,这时不报错了!但我调出来的平均值结果中如果XR_X>1,例如:2.3>1,则显示:2.3,一量如果0.3>1,则调出来显示为:.3,也就是前面的那个0没有了!看起来不舒服!不知该如何解决!

这个问题是前面类型设置错误!还是调出来需要改动!

#16


<%=formatnumber(0.235,3,true)%>

FormatNumber(
   expression [,NumDigitsAfterDecimal [,IncludeLeadingDigit [,UseParensForNegativeNumbers [,GroupDigits]]]]
)
Arguments
Expression 
必选项。要被格式化的表达式。 
NumDigitsAfterDecimal 
可选项。指示小数点右侧显示位数的数值。默认值为 -1,指示使用的是计算机的区域设置。 
IncludeLeadingDigit 
可选项。三态常数,指示是否显示小数值小数点前面的零。有关数值,请参阅“设置”部分。 
UseParensForNegativeNumbers 
可选项。三态常数,指示是否将负值置于括号中。有关数值,请参阅“设置”部分。 
GroupDigits 
可选项。三态常数,指示是否使用计算机区域设置中指定的数字分组符号将数字分组。有关数值,请参阅“设置”部分。 
设置
IncludeLeadingDigit、UseParensForNegativeNumbers 和 GroupDigits 参数可以有以下值:

#17


FormatNumber(".0102",,-1)

#1


你显示记录的时候肯定有循环的,简单一点在循环的时候做个累加就行了哇

#2


sum(X1) as totalX1,sum(X2) as totalX2,sum(X3) as totalX3,sum(X4) as totalX4,sum(X平均值) as totalX平均值,sum(X极差值) as totalX值 form [你的表]

#3


作循环的时候把数值付值给变量然后循化加
dim a,sumA
sumA=0
do while not rs.eof
a=rs("x1")
sumA=sumA+a
rs.movenext
loop
response.write sumA

#4


你说的是求合计,如果是求平均值就是avg(X平均值) as 平均值1

#5


sorry,上面的from输错了。
sum(X1) as totalX1,sum(X2) as totalX2,sum(X3) as totalX3,sum(X4) as totalX4,sum(X平均值) as totalX平均值,sum(X极差值) as totalX值 from [你的表]

#6


上面只是我举的一个例子,每组数据肯定会不一样,但也有重复的时候,所以我现在只求X平均值与X极值,这个值的算法就是:X1平均值+X2平均值+X3平均值……XN平均值 / N = XX平均值
   同样,X极值与一样的求法!

#7


存到数组里面
Set rs=Server.CreateObject("ADODB.Recordset")
sql="select * from table"
rs.Open sql,conn,3,1
count=rs.RecordCount
i=0
j=0
do while not rs.eof
for j=1 to 6
tj(i,j)=tj(i,j)+1
next
rs.MoveNext
loop

#8


sql:
select avg(x1) as avgx1,avg(x2) as avgx2,avg(x3) as avgx3,avg(x4) as avgx1,avg(X平均值) as avgavgx,avg(X极差值) as avgxx from table

#9


楼上“luckyprg”的已经可以了

#10


上面的朋友说的很明白了.
用AVG函数 和 SUM函数就可以了啊

#11


我现在有N组数据,如下所示:
        X1     X2      X3     X4    X平均值     X极差值
(1)    1      2      3      4        2.5         3
(2)    2      3      4      5        3.5         3
(3)    3      4      5      6        4.5         3
(4)    4      5      6      7        5.5         3
(5)    5      6      7      8        6.5         3

合计     ?      ?      ?      ?         ?          ?
   首先谢谢各位老大的支持,但我这测试数据并不一定是5组,有可能是10组,有可能是25组,数据都是事先提交到库里的,而且每组X平均值与X极差值在提交到库时,都己经算出来了!所以现在目前是要求一个最好的办法将从X的平均值相加,如果是5组,那么合计中X平均值=SUM(X平均值)/5
如果是25组,那么X平均值=SUM(X平均值)/25  如果是30组,X平均值=SUM(X平均值)/30

jacky1_102(小蜗牛),你说用数组,可以按我说的,把程序写得更详细点吗?

我在库中定义的表为:tab_xr
字段名为:ID,x1,x2,x3,x4 xr,xr_r
请各位老大,再想点办法!

#12


上面的求值写错了!

#13


sql="select sum(x1) as a1,sum(x2) as a2,…… from [表名]"

有多少项就写多少项

#14


用sum和avg 就可以满足你的要求了.有多少项就写多少项,你总不可能不写SQL语句就调用吧

#15


各位老大:

set rs_pj=server.createobject("adodb.recordset") 
sql="select sum(xr_x) as totalxr,sum(xr_r) as totalxr2 from tab_xr_2 where xrid="&xrid 
rs_pj.open sql,con,1,1 
num=trim(rs_pj("totalxr")) 
num2=trim(rs_pj("totalxr2"))

按照你们的方法,我解决了一问题,但后面又出现了问题,现在我如果将表中XR_X与XR_R数据类型设置为VARCHAR,这是在调用时,就会出错,错误提示如下:
Microsoft OLE DB Provider for ODBC Drivers 错误 '80040e21' 
ODBC 驱动程序不支持所需的属性。 


如果我将数据类型改:FLOAT ,这时不报错了!但我调出来的平均值结果中如果XR_X>1,例如:2.3>1,则显示:2.3,一量如果0.3>1,则调出来显示为:.3,也就是前面的那个0没有了!看起来不舒服!不知该如何解决!

这个问题是前面类型设置错误!还是调出来需要改动!

#16


<%=formatnumber(0.235,3,true)%>

FormatNumber(
   expression [,NumDigitsAfterDecimal [,IncludeLeadingDigit [,UseParensForNegativeNumbers [,GroupDigits]]]]
)
Arguments
Expression 
必选项。要被格式化的表达式。 
NumDigitsAfterDecimal 
可选项。指示小数点右侧显示位数的数值。默认值为 -1,指示使用的是计算机的区域设置。 
IncludeLeadingDigit 
可选项。三态常数,指示是否显示小数值小数点前面的零。有关数值,请参阅“设置”部分。 
UseParensForNegativeNumbers 
可选项。三态常数,指示是否将负值置于括号中。有关数值,请参阅“设置”部分。 
GroupDigits 
可选项。三态常数,指示是否使用计算机区域设置中指定的数字分组符号将数字分组。有关数值,请参阅“设置”部分。 
设置
IncludeLeadingDigit、UseParensForNegativeNumbers 和 GroupDigits 参数可以有以下值:

#17


FormatNumber(".0102",,-1)