hi假设我有一个表t,中有一个savetime属性,存放的是每条记录的时间。我想要实现:最近一条记录和倒数第二条记录之间的差距。举个例子,我有5条记录类似
1 9月21
2 9月22
3 9月23
4 9月24
5 9月25我的答案应该得到 9月25-9月22=3天如果直接找最大最小的差我可以使用
   DATEDIFF(max(savetime) ,min(savetime))
可是找倒数第二条我就不会了谢谢大家

解决方案 »

  1.   

    select min(id) from tb where id not in (select min(id) from tb)
      

  2.   

    SELECT MAX(F1) FROM TT 最近一条记录
    SELECT MAX(F1) FROM TT WHERE F1<(SELECT MAX(F1) FROM TT ) 倒数第二条记录
      

  3.   

    select (select savetime from 表t order by savetime limit 1,1) - (select savetime from 表t order by savetime desc limit 1)  ;
      

  4.   

    狼王大哥,谢谢你的代码,能用。
    不过我在稍微复杂点的业务里似乎用不了了
    SELECT
      DATEDIFF(
        max(visit)
       ,min(Visit))
        AS `Total cycle`
     ,(SELECT     visit   ORDER BY     visit   LIMIT     1, 1)    AS miin
     ,(SELECT     visit   ORDER BY     visit DESC   LIMIT     0, 1)    AS maax
     , count(Visit)
     -- datediff( miin,maax ))
      FROM db_installation
    .t_hour_cost AS h
    GROUP BY
      `System No`
     ,`so`miin中就没有了 我的datediff(最近一天,倒数第二天)就做不出来了
      

  5.   

    能帮忙解释下 “limit 1,1”两个1,最后一个1的用法吗,3Q