| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 871 人关注过本帖
标题:有关统计的问题
取消只看楼主 加入收藏
zhongx
Rank: 2
等 级:论坛游民
威 望:1
帖 子:370
专家分:42
注 册:2007-8-16
结帖率:88.24%
收藏
 问题点数:0 回复次数:10 
有关统计的问题
问题要求:
总体上把以下的数据库中的这些字段读出并显示在页面:
id A B C D E F
关键处:
1.全部数据库id中A字段与A字段及C字段与C字段比较后 不相同 的作各自显示。
2.全部数据库id中A字段与A字段及C字段与C字段比较后 相同 的合并为一条显示,
因为相同所以A B C D E 取其一即可,但需要 F 的数全部相加后一并显示。
搜索更多相关主题的帖子: 统计 
2007-08-20 00:17
zhongx
Rank: 2
等 级:论坛游民
威 望:1
帖 子:370
专家分:42
注 册:2007-8-16
收藏
得分:0 
以下是引用ayue222在2007-8-20 9:44:11的发言:

F值的和的显示不知道是这么显示法 .... 能不能用具体的 数据例子说明一下...

G1FcPatp.txt (844 Bytes) 有关统计的问题



偶简单的做了个页面,运行没有错,只是功能实现不了.
你看看明不明白,可能你理解为字段A和字段B相同时合并成一条数据显示在页面.
想实现的功能:
当字段A和其他数据的字段A及字段B和其他数据的字段B相同时能否合并成一条数据显示在页面?

感动常在,每天进步一点点,开心学习在编程论坛。
http://www.
2007-08-20 13:27
zhongx
Rank: 2
等 级:论坛游民
威 望:1
帖 子:370
专家分:42
注 册:2007-8-16
收藏
得分:0 

看你现在的写法,我知道你已完全明白我的意思,先谢过!
====================================================================================================
现在的经过多次测试发现有这样的问题:
1.select id,a,b,c,d,e,f from [ID] as t where id in (select top 1 id from [ID] where A=t.A and B=t.B)
这段代码显示到了页面.<我看不出错在那里>
2.计算F的结果出错未能算出结果.
出错信息:
Microsoft OLE DB Provider for ODBC Drivers '80040e07'

[Microsoft][ODBC Microsoft Access Driver] 标准表达式中数据类型不匹配。

\wwwroot\0.asp, line 34
=====================================================================================
ayue222朋友有解决的方法吗?
=====================================================================================
前面的功能已经成功了.
=====================================================================================


感动常在,每天进步一点点,开心学习在编程论坛。
http://www.
2007-08-20 19:41
zhongx
Rank: 2
等 级:论坛游民
威 望:1
帖 子:370
专家分:42
注 册:2007-8-16
收藏
得分:0 
---------------------------------------------------------------------------------------------------
select id,a,b,c,d,e,f from [ID] as t where id in (select top 1 id from [ID] where A=t.A and B=t.B)
---------------------------------------------------------------------------------------------------
select * from [ID] as t where id in (select top 1 id from [ID] where A=t.A and B=t.B)
---------------------------------------------------------------------------------------------------

我想问一下在这里二种写法有何不同呢?
本人理解为前者是指定后者是所有,
测试结果几乎一样.

感动常在,每天进步一点点,开心学习在编程论坛。
http://www.
2007-08-20 20:07
zhongx
Rank: 2
等 级:论坛游民
威 望:1
帖 子:370
专家分:42
注 册:2007-8-16
收藏
得分:0 

今次测试没有错误了,但是不知何解下面这句显示到了页面上:
select * from [ID] as t where id in (select top 1 id from [ID] where A=t.A and B=t.B)
一般来说这句在ASP的 起止符 <% %> 内是不会显示在页面的,
百思不得其解它现在显示在页面了?


感动常在,每天进步一点点,开心学习在编程论坛。
http://www.
2007-08-21 15:01
zhongx
Rank: 2
等 级:论坛游民
威 望:1
帖 子:370
专家分:42
注 册:2007-8-16
收藏
得分:0 

呵呵!
我有事出去了,边开车边想着这个问题,想到了尝试把这句删除,
回来看看你已解决了问题,经测试完全达到了所想效果!!!
非常感谢ayue222朋友!!!!!!!!!!
至此这个问已圆满解决!
相信路过走过有心和没有心看贴的都从ayue222朋友的解答中学到不少知识了.
本人认为从样例中学习ASP比较轻松和易于上手,
但需要基础和举一反三多思考......
这只不过是本人认为而已,
其他人如有更好的方法那就按更好的方法去学习吧!
我看到看此贴的人也不少,所以在此说这些话想鼓励一下想学习ASP的人,
如有说错的地方请愿谅,甚至骂几句也无所为......


感动常在,每天进步一点点,开心学习在编程论坛。
http://www.
2007-08-21 19:05
zhongx
Rank: 2
等 级:论坛游民
威 望:1
帖 子:370
专家分:42
注 册:2007-8-16
收藏
得分:0 
ayue222朋友我们再来一些复杂点的 [统计运算] 好吗?
我一直对于二个表一齐统计运算知道甚少,
在上面的例子的基础上结合下面的要求,您能做个范例吗?
=============================================================================
表名 字段0 字段1 字段2 字段3 字段4 字段5 字段6 字段7 字段8
id id A B C D E F G H
-----------------------------------------------------------------------------
id2 id A2 B2 C2 D2 E2 F2 G2 H2
=============================================================================
这是数据库中二个表的结构,其实表可以没有字段5,6,7,8的,做出不过直观些,字段比原来增加了二个。
统计运算时要求表一按照上面的例子;表二除将 [计算出的和] 显示在[表字段5]外,其他按表一.
意思是将二个表合并读出显示在页面时还需要进行如下的运算:
[字段5] - [字段6] = [字段7] x [字段2] = [字段8]
----------------------------------------------------------------------------------
大概意思是:二个表的数据进行统计合并后经运算,作为数据显示在页面.
==================================================================================
<%
set rs=server.CreateObject("adodb.recordset")
sql="select * from [ID] as t where id in (select top 1 id from [ID] where A=t.A and B=t.B)"
response.write sql
rs.Open sql,conn,1,1
%>

<table>
<tr>
<td>字段0</td><td>字段1</td><td>字段2</td><td>字段3</td>
<td>字段4</td><td>字段5</td><td>字段6</td>><td>字段7</td><td>字段8</td>
</tr>
<%
if not (rs.bof and rs.eof) then
do while Not rs.eof %>
<tr>
<td><%=rs("id")%></td>
<td><%=rs("A")%></td>
<td><%=rs("B")%></td>
<td><%=rs("C")%></td>
<td><%=rs("D")%></td>
<td>表二计算出的和</td>
<td><%set rs1=conn.execute ("select sum(f) as ff from [id] where A="&rs("A")&" and B="&rs("B")):response.write rs1("ff")%>(这个结果是:表一计算出的和)</td>
<td>[字段5] - [字段6] = [字段7]</td>
<td>[字段7] x [字段2] = [字段8]</td>
</tr>
<%
rs.movenext
loop
end if
rs.close:set rs=nothing
%>
</table>
===================================================================================================



感动常在,每天进步一点点,开心学习在编程论坛。
http://www.
2007-08-22 01:19
zhongx
Rank: 2
等 级:论坛游民
威 望:1
帖 子:370
专家分:42
注 册:2007-8-16
收藏
得分:0 
在保存到数据库的之前运算完,将统计后的结果保存,然后将二个字段直接运算,
这样做速度上会快些,但查询每条数据的细节就不能了.

我意思是将2个表已有的数据经统计运算再显示,结果无需保存到数据库.
2个表之间没有联系,2个表的数据各自录入的,但字段内容基本相同.

就是想通过本次的统计运算,把2个表的数据合并结合起来及显示在页面.

感动常在,每天进步一点点,开心学习在编程论坛。
http://www.
2007-08-22 15:25
zhongx
Rank: 2
等 级:论坛游民
威 望:1
帖 子:370
专家分:42
注 册:2007-8-16
收藏
得分:0 
<td>[字段5] - [字段6] = [字段7]</td>
<td>[字段7] x [字段2] = [字段8]</td>

这二个结果是当2个表统计合并,产生了 [字段1,2,3,4]后,再通过对:
[字段5] - [字段6] 运算得到 [字段7] 的结果
[字段7] x [字段2] 运算得到 [字段8] 的结果

实际是2个表各自按 [前面已做成的范例] 得到的结果,
再统计和运算,相同的合并作一条数据显示,不相同的各自按一条数据显示.

例如:
表一的字段A是 [123] 字段B是 [8]
表二的字段A2是 [123] 字段B2是 [8]
那么这条数据就可以合并成一条数据显示了,反之则不合并而是单独作一条数据显示.





感动常在,每天进步一点点,开心学习在编程论坛。
http://www.
2007-08-22 16:07
zhongx
Rank: 2
等 级:论坛游民
威 望:1
帖 子:370
专家分:42
注 册:2007-8-16
收藏
得分:0 
可能是我表达能力的问题搞复杂了,跟你提出的第二点相同:

2、通过条件 表一.A=表二.A2 and 表一.B=表二.B2来进行比较,相同进行合并统计,不同的...表一\表二的都显示 ..这里需要注意判断各表是否已经结束了循环,如果已经循环到最后则不输出.

感动常在,每天进步一点点,开心学习在编程论坛。
http://www.
2007-08-22 17:39
快速回复:有关统计的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018643 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved