我需要知道,我该如何即时执行此操作,
例如,我有处于不同到期日期状态的客户,我想在左连接上选择 MAX(最近的到期日期),当前当它连接两个表时,它会选择最旧的到期日期,这不是我想要的。
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
最佳答案
您需要使用 max() 函数:
SELECT c.customerid, MAX(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
这将为您提供每个客户的最长到期日期。
关于MySQL 即时加入条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10291763/