我有两个表:posts
和actions
===================================
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
有可能吗?对不起,如果我是傻瓜!
答案 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
。