time字段存的是 1288768420 这种格式

解决方案 »

  1.   

    select now() -interval hour(from_unixtime(1288768420))  hour; 
      

  2.   

    select TIMESTAMPDIFF(hour,from_unixtime(1288768420),now())
      

  3.   

    TIMESTAMPDIFF(interval,datetime_expr1,datetime_expr2) 
    返回日期或日期时间表达式datetime_expr1 和datetime_expr2the 之间的整数差。其结果的单位由interval 参数给出。interval 的法定值同TIMESTAMPADD()函数说明中所列出的相同。 mysql> SELECT TIMESTAMPDIFF(MONTH,'2003-02-01','2003-05-01');        -> 3mysql> SELECT TIMESTAMPDIFF(YEAR,'2002-05-01','2001-01-01');
      

  4.   

    用SELECT FROM_UNIXTIME(1288768420)转换一下就行
    SELECT TIMEDIFF(NOW(),FROM_UNIXTIME(1288768420)),hour(TIMEDIFF(NOW(),FROM_UNIXTIME(1288768420)))
      

  5.   

    Select * from table1
    Where time字段>=UNIX_TIMESTAMP(now())-24*60*60这个是效率最高的方法。
      

  6.   

    给time字段加个索引,按照狼头说的来弄就ok了