如何获取列中元素的 id 和数量,即使它们在 SQL 中为 0
Posted
技术标签:
【中文标题】如何获取列中元素的 id 和数量,即使它们在 SQL 中为 0【英文标题】:how to get the id and number of elements in a column even if they are 0 in SQL 【发布时间】:2021-08-10 01:47:12 【问题描述】:希望你做得好,我有两张表,一张是 module 和 element 该模块包含元素,所以我有一个 moduleID 在 element 中,我要做的是显示模块的 ID 和该模块中的元素数量,这里我做了什么:
SELECT module.ID,count(element.ID) AS numElements FROM element JOIN module ON element.moduleID = module.ID WHERE moduleID = module.ID GROUP BY module.ID
但是它只显示了包含元素的模块,那么没有任何元素的模块呢,我真的希望我也可以打印它们并显示它们的元素计数0。
模块表的列: 身份证(P) |模块名称 |类ID |上传目录
元素表的列: 身份证(P) |元素名称 |模块ID(F) |教师ID(F) |图标 |缩略图 |上传目录
提前谢谢你
【问题讨论】:
【参考方案1】:你似乎想要LEFT JOIN
:
SELECT m.ID, count(e.ID) AS numElements
FROM module m LEFT JOIN
element e
ON e.moduleID = m.ID
GROUP BY m.ID;
我不确定您的 WHERE
子句的目的是什么。我怀疑这是试图获取丢失的行。如果要按元素过滤,请在ON
子句中添加条件。
【讨论】:
成功了,非常感谢您的快速回复以上是关于如何获取列中元素的 id 和数量,即使它们在 SQL 中为 0的主要内容,如果未能解决你的问题,请参考以下文章