我的mySql数据库中有两个表名为brand&模型。
我想在medel table中阅读所有品牌名称和模型数量。
这是我自己的查询:
SELECT brand.id, brand.name AS brandName, model.name AS modelName, count(model.id) AS count
FROM carBrand brand
INNER JOIN carModel model ON model.brandId = brand.id
此查询无法返回我想要的内容。它只返回表中所有型号的品牌名称和数量
答案 0 :(得分:0)
您需要按carBrand
表格中的数据进行分组,以获取每个数据
SELECT brand.id, brand.name AS brandName,
count(model.id) AS count
FROM carBrand brand
INNER JOIN carModel model ON model.brandId = brand.id
GROUP BY brand.id, brand.name
汇总函数如count()
,sum()
,...只返回表的一个结果。如果您想要分组结果,则必须对数据进行分组。
MySQL的问题是您的查询确实返回了一些内容。其他数据库引擎只是出错了。
答案 1 :(得分:0)
COUNT()
会自动对结果进行分组。分为两个查询 - 一个用于品牌,一个用于模型计数。