php问题-时间加分

来源:百度知道 编辑:UC知道 时间:2024/06/21 10:11:40
我要做一个统计系统,想统计下1分钟、10分钟、5分钟、30分钟在线人数,数据库中已经统计了每个访问者的详细信息包括时间(字段addtime),时间格式如2009-03-12 07:23:00,我想从数据库里查询出某个时间段的记录数,例如 2009-03-12 07:23:00 到2009-03-12 07:23:30的所有记录

数据库为tongji 时间字段为 addtime 请高手帮忙写个sql查询语句 例如:
$sql="select * from cfstat_visit_last where username='$username' and DATE_FORMAT(addtime,'%Y-%m-%d %h')<'$zhu_date'";//这是查询当天的
问题关键就是 如何给一个这样的时间格式(如:2009-03-12 07:23:00 ) 增加时间,例如加上 10分钟 30分钟 60分钟等。用什么方法或者是用个什么函数实现

YEAR(date)
返回date的年份,范围在1000到9999。
mysql> select YEAR('98-02-03');
-> 1998

MONTH(date)
返回date的月份,范围1到12。
mysql> select MONTH('1998-02-03');
-> 2

HOUR(time)
返回time的小时,范围是0到23。
mysql> select HOUR('10:05:03');
-> 10

MINUTE(time)
返回time的分钟,范围是0到59。
mysql> select MINUTE('98-02-03 10:05:03');
-> 5

SECOND(time)
回来time的秒数,范围是0到59。
mysql> select SECOND('10:05:03');
-> 3

你可以将数据库的时间字段和指定的时间进行比较使用上面的函数就可以了
比如:
where YEAR(`addtime`)=YEAR(`指定的时间`)
and MONTH(`addtime`)=MONTH(`指定的时间`)
and MINUTE(`addtime`)-MINUTE(`指定的时间`)=10//计算10分钟的
只要吧条件加好了应该就可以了。
希望对你有帮助,祝你好运

date_add("2009-03-12 07:23:00",INTERVAL 10 Minutes)
date_add("2009-03-12 07:23:00",INTERVAL 30 Minutes)
date_add("2009-03-12 07:23:00",INTERVAL 60 Minutes)

<