讨论:关于统计,走势分析图(100分)

  • 主题发起人 主题发起人 deyan
  • 开始时间 开始时间
D

deyan

Unregistered / Unconfirmed
GUEST, unregistred user!
大家来讨论一下,互相讨教一下,好吗?
题目:关于统计,走势分析图(以中国甲A为例,排名走势分析图)
要求:以一个球队为条件,统计它每轮排名走势,用dbchart画出它的曲线图
(一个球队,第一轮排第7名,第二轮排第6名,......它的曲线是7--->6--->...)
时间要求,从统计到画出曲线图,时间最好不超过2秒.
材料:记录每个队每轮比赛的一张表(请根据此表进行排名);
结构如下:
轮次 主队名称 客队名称 主队比分 客队比分

好了,大家一起讨论,学习
 
sql+teechart
 
有意思!关注
 
先讲一讲sql
1.主队胜
select 主队名称,count(*) as round,sum(主队比分) as goal,sum(客队比分) as lost where 主队比分>客队比分 and 轮次 between .. and .. group by 主队名称
2.主队平
select 主队名称,count(*) as round,sum(主队比分) as goal,sum(客队比分) as lost where 主队比分=客队比分 and 轮次 between .. and .. group by 主队名称
3.主队负
select 主队名称,count(*) as round,sum(主队比分) as goal,sum(客队比分) as lost where 主队比分<客队比分 and 轮次 between .. and .. group by 主队名称
4.客队胜
select 客队名称,count(*) as round,sum(客队比分) as goal,sum(主队比分) as lost where 主队比分<客队比分 and 轮次 between .. and .. group by 客队名称
5.客队平
select 客队名称,count(*) as round,sum(客队比分) as goal,sum(主队比分) as lost where 主队比分=客队比分 and 轮次 between .. and .. group by 客队名称
6.客队负
select 客队名称,count(*) as round,sum(客队比分) as goal,sum(主队比分) as lost where 主队比分>客队比分 and 轮次 between .. and .. group by 客队名称
 
我想看看
 
以前玩SimCity我就希望做个那样的东西,做整个城市的分析
可惜。。。最大的悲哀是不能做自己喜欢的事
 
nulk,你说SimCity是什么game
 
to dayan,是模拟城市
 
对了,我以前也玩过,不过是几分钟时间。
其实,这个讨论题关鍵在:如何把每个队每轮排名快速查询出来,画曲线图是很快的,
so,解决的办法就是如何在2秒之内快速查询出来。
不知各位大侠有什么办法? 
 
查询是数据库的事当然还有存取因素(网络延时等)
关键是数据库的结构,预先保存好要查询的格式,查询就快了,
用dbchart大概结构如下:每队在每轮排名,要固定的term
term1 term2 term3 ...... termZ
round1 3 4 2 9
round2 5 2 6 4
....
roundZ 3 2 5 8
 
不错就是要用查询得到dbchart所要的结构 
用dbchart大概结构如下:每队在每轮排名,要固定的term
term1 term2 term3 ...... termZ
round1 3 4 2 9
round2 5 2 6 4
....
roundZ 3 2 5 8
 
不可能用一个SQL查出来,请参照:
http://www.delphibbs.com/delphibbs/dispq.asp?lid=995018
 
to:
nulk
我看了一下,提的问题最终如何解决的,能分亨一下?
 
不好意思,有一个存储过程迷失在我的60G硬盘中了,等我把它捉会来
 
你在60g中在捉几百k的东西,xixi
 
to:nulk
建议使用SQL存储过程,
由于存储过程已经Compiled,并优化过,速度上应该不成问题

你能不能讲一下SQL存储过程,我向你学习
 
这道讨论题关鍵在于如何优化查询。首先求每轮排名情况,然后求指定队的排名
位置,( 一轮排名--->排名位置--->下轮排名--->排名位置--->次轮排名--->排名位置,
以中国甲A为例,共26轮,就要寻环26次。假设寻环1次用时半秒,寻环26次就要
13秒钟,这显然不好,因此关鍵在于如何优化查询,使它能在2秒钟完成)
用一条查询语句完成一轮排名不会有什么问题,如果使用多线程查询,我想速度
会快,开26个线程查询可以吗?
 

Similar threads

D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
851
DelphiTeacher的专栏
D
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
后退
顶部