0
我需要知道,我如何做到这一点的飞行条件,MySQL的加入与参与上飞
例如我有谁在每个不同交货期状态的客户,我要选择MAX(最近到期日)ON LEFT JOIN目前当其加入它选择的最古老的交货期是不是我想要的两个表..
SELECT c.customerid, i.datedue
FROM customers c
LEFT JOIN invoice i
ON i.customerid = c.customerid
WHERE i.datedue <= UNIX_TIMESTAMP()
AND c.status!='d'
GROUP BY i.customerid
ORDER BY i.datedue DESC
LIMIT 0, 1000
看起来好像您正在试图建立一个客户列表(通过ID),以及他们最近错过的发票(如果有的话,再次通过ID) - 仅限于前1000个发票?那是对的吗? – 2012-04-24 04:42:15
由于32位unix时间戳只有68年的时间跨度,并且您可以在时间戳使用本机SQL时更快地执行其他日期函数,所以您还应该将截止日期保存为日期时间或日期类型。例如,您可以将上述内容更改为'WHERE i.datedue <= NOW()' – Anthony 2012-04-24 04:59:31