2011-05-24 57 views
1

我想,这样的每一天这样计算操作的嵌套MySQL的要求:比较的Fileds与REGEXP在MySQL 5.0

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中比较两个时间戳字段的日期的任何想法?

感谢

回答

0

可以使用DATEDIFF()功能在MySQL中, 和TIMESTAMPDIFF()日期比较来比较时间戳,DATE()从时间戳中获取日期信息。
更多日期和时间函数和示例请参阅MySQL's reference manual pages