关联表查询:如何关联查询时,统计关联字段的数量

需求

假设我们有两张表:

表A:文章表 post
表B:专栏表 section

文章表post中使用专栏表section主键idsection_id 进行关联。

现在需要查询专栏section列表,并统计每个专栏对应的文章数量。

实现

// 只查询含有关联关系的数据
SELECT
	s.*,
	count( t.id ) AS topics 
FROM
	section s,
	topic t 
WHERE
	s.id = t.section_id 
GROUP BY
	s.title;

// 查询所有数据,没有关联的统计为0
SELECT
	s.*,
	COUNT( t.id ) AS topics 
FROM
	section s
	LEFT JOIN topic t ON s.id = t.section_id 
GROUP BY
	s.title;

查询结果如下:
其中专栏一 统计2篇文章,专栏2 统计1篇文章
在这里插入图片描述

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 1024 设计师:上身试试 返回首页