У меня такой запрос (Mysql 5.X, PHP - отформатирован для разборчивости)
$query ="
SELECT
p.p_pid,
p.p_name,
p.p_url
FROM
activity a,
products p
WHERE
a.a_uid= ".$uid_int."
AND a.a_pid > 0
AND p.p_pid = a.a_pid
GROUP BY
a.a_pid
ORDER BY
a.a_time DESC LIMIT 6
");
В целом, он должен создать уникальный список из 6 последних продуктов, которые видел пользователь.
Проблема в том, что если пользователь видел товар более одного раза. один из них в последних 6 действиях и один из них перед последними 6 действиями запрос не возвращает продукт. Я предполагаю, что (group by) не оставляет a_time с последним временем появления продукта. Как я могу это исправить?