我有两张桌子:
tbl_user
id username
1 kanda01
2 kanda02
3 kanda03
4 kanda04
5 kanda05
tbl_post
user_id post_id
1 1
3 2
1 3
1 4
2 5
1 6
我想进行单一查询以获取如下数据
user_id num_post
1 4
2 1
3 1
4 0
5 0
但是我被困住了。请帮帮我!
答案 0 :(得分:2)
您需要执行LEFT JOIN
和COUNT
:
SELECT
u.id, COUNT(p.post_id) AS num_post
FROM tbl_user u
LEFT JOIN tbl_post p
ON u.id = p.user_id
GROUP BY u.id
答案 1 :(得分:1)
这很简单
select user_id, count(*) as num_post from tbl_post group by user_id;
Group by
会将指标(count(*)
)应用于每个群组。
要获取用户4和5的计数,您可以加入表格。