select 帐户,时间(date),min(余额) FROM 表 group by 帐户,时间(date)

解决方案 »

  1.   

    select 帐户,max(时间),余额 FROM 表 group by 帐户
      

  2.   

    用触发器。
    每次支出触发update,然后向表中insert一条记录。
      

  3.   

    建立一表,其栏位有账户、日期、余额,以账户+日期作为主键值,日期需精确到秒,以防止一天内有多次交易
    若某账户有发生存取作业,则添加一笔记录
    100天后查询:select 账户、日期(只显示日期)、余额 from 表 group by 过滤掉时间的日期
      

  4.   

    即:select 账户,convert(char(10),日期,101),余额 from 表 group by convert(char(10),日期,101)
      

  5.   

    即:select 账户,convert(char(10),max(日期),101),余额 from 表 group by convert(char(10),日期,101)
      

  6.   

    隻需保証同一帳戶所取用的余額的時間為最大的就可以了
    select a.帐户,b.时间(date),a.min(余额) FROM 表 as a,(select 帳戶,Max(時間) as 時間 from 表 group by 帳戶,時間)as b
    where a.帳戶=b.帳戶 and a.時間=b.時間 
      

  7.   

    select 帐号,余额,时间 from 表
     where 时间 in(select max(时间) from 表 group by 帐号)
      

  8.   

    select 帐号,日期,余额 from 表 where min(余额)<=100$ and 日期 between '当前日期-100' and '当前日期'
      

  9.   

    在添加记录时触发事件,事件用来UPDATE表中的余额,并在另一个表中添加记录做为支出明细表。
      

  10.   

    一个笨方法,用WHILE 从1到100 计算每天100个账帐户的余额,第一天有支出则记录余额,列支出则记录100,第二天有支出则记录余额,列支出则记录上一循环生成的余额,循环结束,也就达到输出要求
      

  11.   

    考虑一个帐户,任何一天的余额也就是<=那天的最大时刻的余额,
    开始时时间必定最小,假如字段为 帐户,时间,余额,则任何一天所有帐户的余额为
    SELECT A.帐户,A.余额 
    FROM 帐户表   A ,
        (SELECT 帐户,MAX(时间) FROM 帐户表 
         WHERE 时间<=查询时间 GROUP BY 帐户) B 
    WHERE A.帐户=B.帐户
    用一WHILE语句,查询时间从第1天到第100天,运行以上查询即可
      

  12.   

    :)
      最简单的办法:
      向消费记录中追加记录时利用触发器向余额表中插入记录余额信息,查找某天的信息直接查询余额表中之前最近的余额信息就可以啦,连累计都省掉了,若在指定日期之前没找到余额记录的自然没有消费。
      select 用户名,余额 
        from 用户表,余额表 
        where 用户表.用户ID*=余额表.用户ID 
        having 余额表.时间=max(余额表.时间)。
        若不利用触发器维护余额表,就要麻烦一点了,要用语句统计指定日期之间的消费表信息。即
      select 用户名,100 - sum(isnull(消费表.消费金额,0)) 
        from 用户表,消费表      
        where 用户表.用户ID*=消费表.用户ID 
           and 日期<=指定日期 
           group by 消费表.用户ID,用户名.
      要输出所有的账户每天的信息,只需一简单循环向临时表中插值就可以了。
      

  13.   

    第一句sql中的余额应改为isnull(余额,100)
      

  14.   

    having 余额表.时间=max(余额表.时间)应为
    余额表.时间<=指定日期