access数据库
  字段: 用户名,日期,存款,取款,余额如何用sql语句写:  每一天的余额
   得到    用户名,日期,余额

解决方案 »

  1.   

    select 用户名,日期,余额 from table 
    不会使这个意思吧?
      

  2.   

    谢谢scu96124678(绿林侠) 
    不是这个意思用户名,日期,,,存款,取款,余额
    张三   20021211   100         100.00
    张三   20021211   100         200.00
    张三   20021212   400         600.00sql得出用户名,日期,,,余额
    张三   20021211   200.00
    张三   20021212   600.00即每一天最后一笔记录的余额
      

  3.   

    SELECT 用户名,日期,SUM(余额) AS 余额
    FROM 你的表
    GROUP BY 用户名,日期
      

  4.   

    select 用户名,日期,sum(isnull(余额,0)) as ye from table 
    group by 用户名,日期
      

  5.   

    建议:
    增加一个字段'序号',变成
    序号,用户名,日期,存款,取款,余额
    然后:select  用户名,日期,余额 from table
    where 序号 in (select max(序号),用户名 from table
          group by 用户名)
      

  6.   

    你用的什么数据库,这要看数据库有没有记录最后一次修改的日期(DBMS本身带的功能),若没有,只能是你的数据库日期为日期时间型,并且记录当前时间才可以.否则没法做了
      

  7.   

    增加一个字段'序号'
    序号,用户名,日期,存款,取款,余额select  用户名,日期,余额 from table
    where 序号 in (select max(序号) from table
          group by 用户名)
      

  8.   

    access数据库,
    该日期字段是日期时间型而且所有记录是顺序添加的,
      

  9.   

    不好意思, 前面写的时候还没看到你对说明的更新.更新如下:
    增加一个字段'序号'
    序号,用户名,日期,存款,取款,余额select  用户名,日期,余额 from table
    where 序号 in (select max(序号) from table
          group by 用户名,日期)
      

  10.   

    或者日期字段,不是赋给它Date()值,而是赋给它Now()。
    这样就可以用
    SELECT Max(日期) AS 日期, 用户名, Last(余额) AS 余额
    FROM 你的表
    GROUP BY 用户名, DateValue(日期);
      

  11.   

    表结构设计有问题,最好加一个ID顺序号,这样才好找出。
    当然,如果已经这么用了,只好找出该日期的所有记录,然后Last一下,找出那条了
    Var
     LastName:String;
     LastJE:Real;
    Begin
    With Query Do
     Begin
       Close;
       SQL.Clear;
       SQL.Add('select * from Tab1');
       SQL.Add(' Where TheDate='''+EditYear.Text+EditMonth.Text+EditDay.Text+'''');
       Open;
       Last;
       LastName:=FieldByName('Name').ASString;
       LastJE:=FieldByName('Money').ASFloat;
       Close;
     End;
    End;
      

  12.   

    select sum(存款)from 表 group by 日期 order by 日期
      

  13.   

    又错了,应该是这样:
    SELECT A.* 
    FROM 你的表 A,(
      SELECT Max(日期) AS 日期B, 用户名 FROM 你的表
      GROUP BY 用户名, DateValue(日期)) B
    WHERE A.日期=B.日期 AND A.用户名=B.用户名就搞定!
    首先在子查询中找出每个日期里的最大时间记录
    然后在表中找出符合这个时间和用户名的记录
      

  14.   

    或者用
    select max(余额) from 表 group by 日期 order by 日期
      

  15.   

    怎么能MAX(余额)呢?当日某个用户的最后余额不一定是最大的那个余额。