这看起来很简单,但我似乎无法在不执行子查询的情况下弄清楚它(这似乎会显着减慢查询速度 - 需要几乎 10 秒而不是
假设我有一个已发送文档表,我想选择自上次发送以来已更新的文档以及从未发送过的文档。
SELECT d.document_id, max(sd.document_sent_date) as last_sent_date
FROM documents d
LEFT JOIN sent_documents sd ON d.document_id=sd.document_id
WHERE last_sent_date is NULL OR last_sent_date<d.last_updated
GROUP BY d.document_id
这样的事情可能吗?基本上,我想在 where 子句中使用 max() 的结果。
你想要的having
clause.
一般规则:where
于日期运行before聚合,having
对数据进行操作after聚合。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)