我有以下两个表:
reviews table:
id
visits table:
id
review_id
我正在尝试为那些至少有一次访问记录的评论显示评论列表。尝试使用 HAVING(和 GROUP)进行 LEFT OUTER JOIN,但这给了我所有访问次数的评论。计划制作这样的表格:评论 #1 - 2 次访问 评论 #2 - 10 次访问 .. 等等,忽略 0 次访问的评论
select r.id,count(v.id) from reviews r inner join visits v on r.id=v.review_id
GROUP BY v.review_id
不需要使用 LEFT JOIN,因为 INNER JOIN 只会返回匹配的记录,在这种情况下意味着将返回那些访问过的记录。
select
r.id,
count(v.id) as Reviews
from reviews r
left join visits v on r.id=v.review_id
GROUP BY v.review_id
having Reviews > =1