Mysql 当字段计数为零时,如何通过聚合查询将组返回的值设置为零(0)?
如果Table.id的计数为零,我希望从类型查询中获得返回的值(在本例中为零)Mysql 当字段计数为零时,如何通过聚合查询将组返回的值设置为零(0)?,mysql,Mysql,如果Table.id的计数为零,我希望从类型查询中获得返回的值(在本例中为零) SELECT COUNT(Table1.id) AS AccountID, Table2.typeName AS Types FROM Table1 LEFT JOIN Table3 ON Table1.productID = Table3.productID LEFT JOIN Table2 ON Table3.categoryID = Table2.CategoryID WHERE Table3.a
SELECT COUNT(Table1.id) AS AccountID, Table2.typeName AS Types
FROM Table1
LEFT JOIN Table3
ON Table1.productID = Table3.productID
LEFT JOIN Table2
ON Table3.categoryID = Table2.CategoryID
WHERE Table3.account_id = 51
GROUP BY Table2.typeName;
我想要一个表1中所有id的计数及其对应的typeName。如果id不存在,我希望返回带有相应typeName的a 0。以下查询将起作用:
SELECT
COUNT(Table1.id) AS AccountID,
Table2.typeName AS Types
FROM Table2
LEFT JOIN Table3
ON Table3.categoryID = Table2.CategoryID
AND Table3.account_id = 51
LEFT JOIN Table1
ON Table1.id = Table3.CategoryID
GROUP BY Table2.typeName;
以下查询将起作用:
SELECT
COUNT(Table1.id) AS AccountID,
Table2.typeName AS Types
FROM Table2
LEFT JOIN Table3
ON Table3.categoryID = Table2.CategoryID
AND Table3.account_id = 51
LEFT JOIN Table1
ON Table1.id = Table3.CategoryID
GROUP BY Table2.typeName;
您的筛选器
表3.account\u id=51
将左连接
转换为内部连接
。尝试将WHERE
条件移动到ON
子句。您希望每个typename的总计数,还是只希望帐户id=51
的总计数?只希望帐户id=51您的筛选器表3。帐户id=51
将左联接
转换为内部联接
。尝试将WHERE
条件移动到ON
子句中。您希望每个类型名称的总计数还是仅针对帐户\u id=51
?仅针对帐户\u id=51注释不用于扩展讨论;此对话已结束。评论不用于扩展讨论;这段对话已经结束。