我有三张 table
1)review_trans
2)user_comment_trans
3)helpful_review_trans
表结构如下所示
review_trans
review_id(pk) | review_desc | user_id
--------------+----------------+-----------
1 | hello world | 1
2 | test2 | 1
3 | test3 | 2
user_comment_trans
comment_id | review_id | user_id
------------+--------------+------------
1 | 1 | 4
2 | 1 | 2
3 | 2 | 3
helpful_review_trans
helpful_review_id | review_id | user_id
------------------+------------+------------
1 | 1 | 4
2 | 1 | 2
3 | 2 | 3
我希望每条评论都能获得有用的投票和评论。 所以我想要的输出是这样的
输出
review_id review_desc count(helpful_review_id) count(comment_id)
------------+------------------+----------------------------+--------------------
1 | hello world | 2 | 2
2 | test2 | 1 | 1
3 | test3 | |
我无法获取此记录。我尝试加入表,但它只显示一条 review_desc 请指教和帮助。
最佳答案
使用左连接和计数(不同)
select r.review_id,
r.review_desc,
count(distinct u.comment_id),
count(distinct h.helpful_review_id)
from review_trans r
left join user_comment_trans u on(r.review_id = u.review_id)
left join helpful_review_trans h on(r.review_id = h.review_id)
group by r.review_id
关于mysql - 如何获取mysql查询每行的计数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25780859/