现在我正试图这样做:
SELECT salePrice, listPrice, lowestListPrice, lastChange
FROM deals NATURAL JOIN products
NATURAL JOIN
(SELECT dealID, MAX(date) as lastChange
FROM price_history
GROUP BY dealID) as priceHistory
NATURAL JOIN
(SELECT productID, MIN(listPrice) as lowestListPrice
FROM deals
GROUP BY productID) as listPrices
LIMIT 0, 30
一切都运行良好,直到我尝试添加最后一个连接/子查询。我可以非常快速地运行两个子查询,并且另一个子查询交换它运行正常,但是同时使用它们会导致速度大幅下降。
从最初的研究中,听起来它可能正在为结果集中的每一行运行第二个子查询?不确定。非常感谢任何帮助!