注册 登录
编程论坛 VFP论坛

csyx能不能再帮我一个忙(双飞问题),感谢!

hytizj023 发布于 2023-04-12 13:17, 1129 次点击
首先感谢,csyx,昨天的帮助,貌似你那个程序,我得消化一会

现在有个新的问题

昨天是统计的出现率,现在我需要统计所有双飞的遗漏率
意思就是:统计多少期没有开出的双飞统计
例如:00的双飞最后一次开出是:期号:2023001
获取2023001的记录号,例如:200,就用总记录减去当前记录号,得到当前遗漏期数,更新到后台数据库,数据库和昨天那个一样(where 用户名 = hytizj023 )
另外我要通过:sqlexec(nHandle,"select top 100 from 基础数据 ","本地数据") &&sql语句来控制,输出,全部、今年、季度、每月、等等
意思是不要把程序写的太死了,我想像昨天一样,我控制临时表来统计数据。感谢!
10 回复
#2
csyx2023-04-12 17:01
统计遗漏期数这都不是问题,只要知道存放统计结果的后台表结构就行。鉴于备份恢复可能失败,还是分离、压缩打包,我直接附加

灵活取数也简单,根据需求先计算出期号范围,发给后台的查询命令类似这样就可以
select top N from 基础数据 where 期号 between ?起始期号 and ?截止期号 order by 期号
#3
hytizj0232023-04-12 17:16
以下是引用csyx在2023-4-12 17:01:43的发言:

统计遗漏期数这都不是问题,只要知道存放统计结果的后台表结构就行。鉴于备份恢复可能失败,还是分离、压缩打包,我直接附加

灵活取数也简单,根据需求先计算出期号范围,发给后台的查询命令类似这样就可以
select top N from 基础数据 where 期号 between ?起始期号 and ?截止期号 order by 期号

我好像没有看明白你的意思,这个跟期号范围好像没关系啊,当然可能我们解题思路不一样。
我认为,是先找到例如:00双飞的最后一次出现期数,获取它的记录号,用总记录减去,当前记录号,就算得到遗漏期数了啊!
期号我不知道你是怎么计算的
提醒:期号不是一直累加的,例入:2023358,过了可能是2024001,因为跨年了,期号不是一直累加的
#4
csyx2023-04-12 17:27
不是两个问题吗?那我理解错误
我以为是两个需求,一个是统计遗漏期数,另一个是统计数据来源的提取
#5
csyx2023-04-12 17:31
以下是引用hytizj023在2023-4-12 13:17:15的发言:
&sql语句来控制,输出,全部、今年、季度、每月、等等
意思是不要把程序写的太死了,我想像昨天一样,我控制临时表来统计数据。

如果期号规则只有前四位代表年份,后面是顺序号,那又如何知道某条纪录是几季度?几月份?的

-- 补充
看了下你的基础数据表,是不是每天(有 且 仅有)一条记录?
如果是就好办,顺序号 == 这一年的第几天

[此贴子已经被作者于2023-4-12 17:37编辑过]

#6
hytizj0232023-04-12 18:06
以下是引用csyx在2023-4-12 17:31:35的发言:


如果期号规则只有前四位代表年份,后面是顺序号,那又如何知道某条纪录是几季度?几月份?的

-- 补充
看了下你的基础数据表,是不是每天(有 且 仅有)一条记录?
如果是就好办,顺序号 == 这一年的第几天


期号规则:前四位为年份,后三位是序号:2023001,就是2024年第一期
开奖数据:每天只开一次,一年365天,只有过年那几天不开,所以每天是一条记录

其实:你不用管期号,你只需要帮我把统计程序写出来就可以了,至于其他的我来搞定
其他的也简单,我需要多少数据就top N 就行了,根期号没关系,所以你不用管期号问题。
没有你想象的那么复杂。

我知道你可能想通过期号来计算,但是通过期号计算,有个缺点:例如:2022356期,过了可能是2023001期,这个2022----356(不是固定的,例如今年早放假1天,明年期号就会多一期,所以我觉得通过期号计算不是很科学)
但是也可以解决,你看怎么方便就怎么整。最好速度能快一些,感谢!

[此贴子已经被作者于2023-4-12 18:08编辑过]

#7
csyx2023-04-12 18:20
不是我想通过期号来计算,我以为你是两个问题,见4楼回复,【另外我要通过 。。。】语义上具有误导性

1. 现在是不是用你提取的【本地数据】作为统计依据计算所有双飞组合的遗漏期数?
2. 要更新的后台表什么结构?表名?字段组成?

[此贴子已经被作者于2023-4-12 18:27编辑过]

#8
hytizj0232023-04-12 18:30
以下是引用csyx在2023-4-12 18:20:42的发言:

不是我想通过期号来计算,我以为你是两个问题,见4楼回复,【另外我要通过 。。。】语义上具有误导性

1. 现在是不是用你提取的【本地数据】作为统计依据计算所有双飞组合的遗漏期数?
2. 要更新的后台表什么结构?表名?字段组成?


答:1.就是用本地数据作为依据
    2. 表就是:历史统计双飞,根昨天那个一模一样的,更新:用户名=hytizj023
#9
csyx2023-04-12 19:14
以下是引用hytizj023在2023-4-12 18:30:42的发言:
1.就是用本地数据作为依据
2. 表就是:历史统计双飞,根昨天那个一模一样的,更新:用户名=hytizj023

ok,估计原代码可用率 95% 以上,稍稍改动即可
#10
csyx2023-04-12 19:33
只有本站会员才能查看附件,请 登录
#11
hytizj0232023-04-12 20:45
以下是引用csyx在2023-4-12 19:33:18的发言:

感谢,辛苦了,今晚没时间测试,明天来测试,我想应该没问题,你应该测试过的吧!
1