mysql中的条件日期查询

时间:2015-07-21 16:00:06

标签: mysql

我正在尝试构建一个查询,该查询会返回过去2周内priority = emergency是否为urgent的数据,以及WHERE ((priority = 'emergency' and date > DATE_SUB(NOW(), INTERVAL 14 DAY)) or priority = 'urgent' and date > DATE_SUB(NOW(), INTERVAL 30 DAY)) 是否属于上个月。

function __remap($method)
{
    if(method_exists($this, $method)){
        $reflection = new ReflectionMethod($this, $method);
        if($reflection->isPublic()){
            return $this->{$method}();
        }
    }

    return $this->index();
}

我知道这不对,但我不知道该怎么办。

1 个答案:

答案 0 :(得分:1)

看起来您的括号位于错误的位置:

WHERE ( priority = 'emergency' and date > DATE_SUB(NOW(), INTERVAL 14 DAY) ) 
   OR ( priority = 'urgent' and date > DATE_SUB(NOW(), INTERVAL 30 DAY) )

由于并非所有月份都是30天,因此如果您想严格要求一个月,则可能需要调整间隔时间。