MySQL:TIMESTAMPDIFF()条件无效

时间:2013-11-19 21:16:10

标签: mysql

我真的很困惑。无论我将最后一个句子转换为

,下面的陈述都会返回相同的内容
TIMESTAMPDIFF( 
    SECOND ,  `Regkey`.`expires` , NOW( ) ) > 0


TIMESTAMPDIFF( 
    SECOND ,  `Regkey`.`expires` , NOW( ) ) < 0


TIMESTAMPDIFF( 
    SECOND ,  `Regkey`.`expires` , NOW( ) ) = 0

这是主要陈述

SELECT  `Regkey`.`id` ,  `Account`.`id` ,  `Account`.`name` 
FROM  `databasename`.`regkeys` AS  `Regkey` 
LEFT JOIN  `databasename`.`accounts` AS  `Account` ON (  `Regkey`.`account_id` =  `Account`.`id` ) 
LEFT JOIN  `databasename`.`groups` AS  `Group` ON (  `Regkey`.`group_id` =  `Group`.`id` ) 
WHERE  `Regkey`.`keyval` =  'skdfj908asf7hasf6546753gpd8'
AND  `Regkey`.`type` = 1
AND  `Regkey`.`group_id` = 3
OR  `Regkey`.`group_id` = 0
AND  `Regkey`.`uses` >  `Regkey`.`maxuses` 
AND  `Account`.`students` >0
AND TIMESTAMPDIFF( 
SECOND ,  `Regkey`.`expires` , NOW( ) ) >0
GROUP BY account_id

任何? :)

1 个答案:

答案 0 :(得分:1)

我看到你的病情是“OR”组的一部分,因此如果你的病情评估为真或假则无关紧要。

我在此建议,仅用于测试目的是仅使用一个条件编写查询,即TIMESTAMPDIFF(....