【发布时间】:2009-05-13 09:37:13
【问题描述】:
我有一个这样的查询(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 中留下产品的最新出现时间。我该如何纠正?
【问题讨论】: