目的:
我要记录一下每个账号每周消费的钱,是一个总和。每周排出一个榜单!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
是不是每周都要建立一张消费榜的表?
然后当前数值记录在另一张表内?到时候排的时候创建一下?
什么时候刷新呢?周日12点手动刷新一下?如果那个时间服务器宕机了呢?就刷不了了啊。
而且我还得知道他的上升名次,就是上周10名,本周8名,我就得显示 ↑2 这种。
还是我每次消费都会在数据库里面记录一个消费记录。难道用这个消费记录算?
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
这样的话,服务器时间被人调了呢???
如果做比较好?理不出一个比较好的做法。
谁有经验传授一下啊!!!

解决方案 »

  1.   

    表结构很简单啊,现在只有一个总消费值Accoun | TotalCost | 
    --------------------
      

  2.   

    应该有ID(表主键),CID(客户的ID),COSTTIME(消费时间),TOTALCOST(消费金额)
      

  3.   

    是不是每周都要建立一张消费榜的表?
    不需要每周建一个,建一个周统计表即可 (UID,WEEKID,AMOUNT,)
    然后当前数值记录在另一张表内?到时候排的时候创建一下?
    如果记录量不大,则可以直接从你的交易消费表中取值,但往往交易记录很多,这样情况下,则应该采用数据仓库的方法,每周对数据处理处理。
    什么时候刷新呢?周日12点手动刷新一下?如果那个时间服务器宕机了呢?就刷不了了啊。
    一般是在一周的第一天,比如周日凌晨2:00AM做上周的统计。 如果宕机了,那还说什么呢? 管理员应该在周一进行各项工作的检查,异常情况应该启动异常处理的流程了。包括恢复数据,重跑各个JOB。而且我还得知道他的上升名次,就是上周10名,本周8名,我就得显示 ↑2 这种。
    这个可以直接通过JOIN查询得到。还是我每次消费都会在数据库里面记录一个消费记录。难道用这个消费记录算?
    不明白你的这个问题是什么。^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    这样的话,服务器时间被人调了呢???
    没办法,或者可以问 如果 服务器被人用石头砸了怎么办
      

  4.   

    如果之建一个的话,如果通过join查询到呢?不解
    你这次排的时候,就把上次的覆盖了啊?还是留出一个字段单独来保存上一周的排行的值???
      

  5.   

    哦,看错了。你的意思每周通过一个weekid?但是我还得保存当时的很多信息。不仅仅是一个名次榜,这个榜还包含一些属性譬如:名次 | 提升 | 订单数量 | 购物数量 | 消费金额 | 退货次数 | ...(差不多10个属性一共)
    ---------------------------------------------------