MySQL';在日期'之后;表达

MySQL';在日期'之后;表达,mysql,Mysql,我正试图根据最近的订单获取最近活跃客户的列表。以我尝试的方式(并期望成功),结果与我所希望的不同;无论日期是什么,每个客户的“活动客户”为1,并且至少附加了一个“活动客户” SELECT `Customer`.`id`, `Customer`.`name`, (`DeliveryNote`.`delivery_date` >=2011-05-20) AS `Customer__active` FROM `customers` AS `Customer` LEFT JOIN `del

我正试图根据最近的订单获取最近活跃客户的列表。以我尝试的方式(并期望成功),结果与我所希望的不同;无论日期是什么,每个客户的“活动客户”为1,并且至少附加了一个“活动客户”

SELECT `Customer`.`id`, `Customer`.`name`, (`DeliveryNote`.`delivery_date` >=2011-05-20) AS `Customer__active`
FROM `customers` AS `Customer`
    LEFT JOIN `delivery_notes` AS `DeliveryNote` ON (`DeliveryNote`.`customer_id` = `Customer`.`id`)
WHERE 1 = 1
GROUP BY `Customer`.`id`
ORDER BY `Customer`.`customerid` ASC

另外,如果有人对标题有什么建议,请告诉我

我不确定是否允许像这样直接使用布尔表达式。你可能想试试这样的东西:

IF(`DeliveryNote`.`delivery_date` >=2011-05-20, 1, 0) AS `Customer__active`
另外,您可能希望尝试使用date(NOW()),而不是发送日期,因为我认为这将返回“当前日期”,或者date_SUB(NOW(),INTERVAL 1 day),请参见此处:


日期应该用引号括起来,“2011-05-20”哎哟,这让我觉得很愚蠢:)你为什么要做1=1?我认为即使没有它,查询也可以正常工作。此外,不需要按进行排序,因为GROUP BY将按分组字段(即
Customer
id
)为您提供结果排序。无论如何,我不确定ORDER BY是否在查询的正确字段中完成。@Abhay,CakePHP只添加1=1。id是系统使用的id,customerid是公司自己使用的(有时有两个公司在同一个编号下,这就是为什么它是一个单独的字段)实际上布尔表达式工作,唯一的问题是缺少引号,正如jishi所说。嗯,实际上我是jishi。但是你应该考虑一下日期的自动化。我想我快瞎了。在PHP中执行与在SQL中执行有什么区别?感谢您的解释!在本例中,数据库运行在同一台服务器上,strotime()显然只基于英语。