数据库结构很简单,有: id ,ip ,date 三个字段。我想查询  在距离现在10 分钟内, 同一个ip的入库记录数,关键问题是 那个 10 分钟我不会控制,不太了解 mysql中的时间函数是怎么用的,有 date_sub  以及 date_add sysdate 但是 我写的语句却不正确,请指点!
我的sql语句是:select count(*) from ask_account_tell where account_ip = '119.253.59.50' and account_date > date_sub(sysdate(),interval 10 minute) and account_date < sysdate()

解决方案 »

  1.   

    select count(*) from ask_account_tell 
    where account_ip = '119.253.59.50' 
    and account_date > now()+interval 10 minute and account_date<now()
      

  2.   


    不怎么好使啊  我直接先运行 
    select count(*) from ask_account_tell 
    where  account_date > now() - interval 24 hour结果集也是 0  按说是应该有记录的,不应该是 0 的
      

  3.   

    贴一条你认为符合条件的记录出来以供分析。 另外贴一下你的 desc ask_account_tell 
      

  4.   

    也可以这样说  就是  数据库中,SELECT count( * )FROM ask_account_tell WHERE account_date > now( ) - INTERVAL 20 MINUTE   单运行这个sql,查询不出来结果桌面/jj.png
      

  5.   

    并且我accoount_date  存储的是 时间戳的格式。
      

  6.   


    谢谢你哈  我已经解决了,sql语句如下,我把 account_date 改成日期格式了,不是时间戳形式了。
    select count(*) as nums from ask_account_tell where account_ip = '."'$ip'".' and account_date > DATE_SUB(now(),INTERVAL 10 MINUTE) and account_date < now()'