【发布时间】:2009-06-30 04:56:03
【问题描述】:
我正在尝试执行一个 select 语句,它可以正常工作,只是它不会将每个用户 (U.id) 的结果数限制为 5。
SELECT F.id,F.created,U.username,U.fullname,U.id,I.id,I.cached_image
FROM favorites AS F
INNER JOIN users AS U
ON F.faver_profile_id = U.id
INNER JOIN items AS I
ON F.notice_id = I.id
WHERE faver_profile_id IN ('.$users.')
GROUP BY I.id HAVING COUNT(U.id) <= 5
ORDER BY F.faver_profile_id, F.created DESC
我按 I.id 分组以消除重复项。根据我的研究,如果您也按该列分组,您似乎只能使用 HAVING COUNT,但我不能按 U.id 分组,否则我会丢失结果行。
【问题讨论】: