SELECT *
FROM customers с
LEFT JOIN
purchases p
ON p.id =
(
SELECT id
FROM purchases pl
WHERE pl.customer = c.id
ORDER BY
pl.customer DESC, pl.date DESC
LIMIT 1
)
Убедитесь, что у вас есть составной индекс на purchases (customer, date)
, если ваша таблица InnoDB
, или на purchases (customer, date, id)
, если ваша таблица MyISAM
.