求助,我现在有这样一个基础表,想用sql增加“时间差”那列,也就是求同一个用户有多笔订单的情况下,第二笔订单的申请时间—第一笔订单的结清时间的天数差。请问这个时间差应该怎么写。。用户 申请时间 结清时间 次数 时间差
1 a1 c1 1 a2-c1
1 a2 c2 2 a3-c2
1 a3 c3 3 a4-c3
1 a4 c4 4 null
2 b1 d1 1 b2-d1
2 b2 d2 2 b3-d2
2 b3 d3 3 b4-d3
2 b4 d4 4 null

解决方案 »

  1.   

    select a1.id,a1.time1,a1.time2,a2.time1-a1.time2 from table AS a1
    left join table AS a2 ON a1.id = a2.id
    order by time1 
    没测试,试试看吧
      

  2.   

    select a1.id,a1.time1,a1.time2,a2.time1-a1.time2 from table AS a1
    left join table AS a2 ON a1.id = a2.id
    order by a1.id,a1.time1 
      

  3.   

       建议你列出你的表结构,并提供测试数据以及基于这些测试数据的所对应正确结果。
       参考一下这个贴子的提问方式http://bbs.csdn.net/topics/320211382
       
       1. 你的 create table xxx .. 语句
       2. 你的 insert into xxx ... 语句
       3. 结果是什么样,(并给以简单的算法描述)
       4. 你用的数据库名称和版本(经常有人在MS SQL server版问 MySQL)
       
       这样想帮你的人可以直接搭建和你相同的环境,并在给出方案前进行测试,避免文字描述理解上的误差。