SQL寻找丢失的充值数据,HOHO~

        近日一个问题困扰很久,一直找答案。

    问题描述:一台充值机不知何原因,可能是写FLASH错,但是卡上钱进去了,机器上确没有记录到那一笔充值记录。那我能通过前后的记录号判断是哪一笔丢了,大概在哪个时间内充到的这笔钱。时间为:'2010-11-23 11:52:35.000''2010-11-23 11:52:57.000'中间的一笔充值数据丢了。

    但是我总共有一W多近两W张卡,不可能一一去查个人帐来找回此笔丢失的记录,具此数据库帐本身问题也多,只能考虑进行阶段的查询,不可能去做整个的判断如总的充值-总的消费是滞等于总的卡余是行不通的。

    经过仔细的思考后,经过了这样的几步,先不记充值,我查出来'2010-11-23 11:52:35.000'这个时间前的所有的卡的最大的消费时间所对应的卡余额作为前期的卡余额,再来查出来'2010-11-23 11:52:57.000'这个时间后的最小的消费时间所对应的卡余额作为最后的卡余额并顺带查出相应的消费金额。这样,前期卡余额,消费额度,最后的卡余额都出来了,但是这两个消费时间的充值还需要统计出来。

    故再利用了一个GROUP BY 将前面统计出来的两个临时表通过卡号,然后通过时间段的限制查询出来两个消费时间内的充值总额,再进行对比,即可查出所缺失的充值记录。

 

后记:所有的数据库问题统计跟找数据肯定是有解决办法的,需要自己静下心来思考,想清楚它蹭的逻辑关系。天天学一点,天天进步一点。开始锁的研究,HOHO`加油,小江~~~~嘻嘻~

转载于:https://www.cnblogs.com/medci/archive/2010/12/07/1899058.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值