Mysql加入不同的表

时间:2015-03-29 22:03:50

标签: mysql join

我有两个表:postsactions

===================================
id  text
===================================
1   hello
2   hi
3   bye

===================================
post_id user
===================================
1       arthur
1       amanda
1       alex
2       mark
3       john
3       maria

结果需要全部来自第一个表+第二个结果的计数

===================================
id  text   count_users
===================================
1   hello  3
2   hi     1
3   bye    2

有可能吗?对不起,如果我是傻瓜!

2 个答案:

答案 0 :(得分:0)

SELECT posts.id, posts.text, COUNT(*)
FROM posts
LEFT JOIN users ON users.post_id = posts.id
GROUP BY posts.id, posts.text

编辑:也许你应该考虑添加一个只有id_user和name的用户表。并使用post_id和user_id

添加第三个表

答案 1 :(得分:0)

您想要的查询是基本的join group by查询:

select p.id, p.text, count(*) as count_users
from posts p join
     actions a
     on p.id = a.post_id
group by p.id, p.text;

如果您想要所有posts,即使是那些没有操作的人,也可以修改查询以使用left join