SELECT count(*) as num1 FROM pre_forum_thread  where dateline=UNIX_TIMESTAMP(date_sub(NOW(),interval 1 day))我想达到的效果是,查询出当前时间前一天记录的总和!数据库时间时间格式是unix时间戳!其余就不要多说了!大家帮我看看对不对!

解决方案 »

  1.   

    SELECT count(*) as num1 FROM pre_forum_thread  where dateline <= UNIX_TIMESTAMP(date_sub(NOW(),interval 1 day))
      

  2.   

    或许你要的是这个?
    SELECT count(*) as num1 FROM pre_forum_thread  where dateline>=UNIX_TIMESTAMP(date_sub(to_date(curdate()),interval 1 day)) and dateline>=UNIX_TIMESTAMP(to_date(curdate()))严格按“日期”计算。
      

  3.   

    1.考虑到mysql的效率 尽量少使用mysql中的函数2.可以在php里面拼出来时间串 然后拼成sql语句。多好!~~用php处理数据比mysql快多了只是建议!
      

  4.   

    多谢你的建议!按照你说的方法并解决了问题!如下
    $timestamp = date("Y-m-d",strtotime("-1 day"));
    SELECT count(*) as num1 FROM pre_forum_thread where DATE_FORMAT(FROM_UNIXTIME(dateline),'%Y-%m-%d')='$timestamp'
      

  5.   


    不好意思,我更正一下,其实你的问题这样做事很爽的:SELECT count(*) as num1 FROM pre_forum_thread where dateline>=UNIX_TIMESTAMP(date_sub(curdate(),interval 1 day)) and dateline>=UNIX_TIMESTAMP(curdate())
      

  6.   

    符合打错,再次更正:SELECT count(*) as num1 FROM pre_forum_thread where dateline>=UNIX_TIMESTAMP(date_sub(curdate(),interval 1 day)) and dateline<UNIX_TIMESTAMP(curdate())