比较文件与mysql 5.0中的REGEXP

问题描述

| 我想这样一个嵌套的MysqL请求,每天对这样的动作进行计数:
SELECT `timestamp` AS `date`,(SELECT COUNT(\'id\') 
   FROM `actions` WHERE `timestamp` = `date`) AS `action_num`  
FROM `actions`;  
如果不是这样,那将非常有用,这样我就需要计算每一天,而我得到的只是每个时间戳。如果只是一个约会,它将起作用。所以我想如果我可以从字符串中取出日期并进行比较,则可能可行:
SELECT `timestamp` AS `date`,(SELECT COUNT(\'id\') FROM `actions` 
   WHERE `timestamp` REGEXP \'[[:digit:]]{4}-[[:digit:]]{2}-[[:digit:]]{2}\' = `date`
   REGEXP \'[[:digit:]]{4}-[[:digit:]]{2}-[[:digit:]]{2}\') AS `action_num`  
FROM `actions`;
但这没有用。 关于如何直接在MysqL中比较两个时间戳字段中的日期的任何想法? 谢谢     

解决方法

非常简单,内部查询应为:
SELECT count(id) FROM actions 
WHERE DATE(`timestamp`) = DATE(`date`) as action_num
参见:http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_date     ,您可以使用
DATEDIFF()
函数在MySQL中比较日期, 和
TIMESTAMPDIFF()
比较时间戳,,5ѭ从时间戳获取日期信息。 MySQL的参考手册页中提供了更多的日期和时间功能和示例。