我有一张列有汽车数据的桌子,例如,制造,模型,和年份。

我想知道每辆车有多少型号.如下所示:

这是我正在使用的SQL查询,但是它给了我错误的计数。事实上,每辆车的行数实际上给了我我想要的结果。
SELECT `make`, COUNT(`id`) as `countmake`
FROM `cars_new`
WHERE 1
AND `make` IN ('Chrysler', 'Ferrari', 'Citroen', 'Dodge')
GROUP BY `model`帮我把这个修好!
发布于 2020-11-08 11:22:54
所以,我已经找到了解决问题的办法。我不确定这是否有效,但对我有效。
SELECT `temp_table`.`make`, COUNT(temp_table.make) FROM (SELECT `make`, `model`, COUNT(`id`) as `tnncmake`
FROM `cars_new`
WHERE 1
AND `make` IN ('Chrysler', 'Ferrari', 'Citroen', 'Dodge')
GROUP BY `make`, `model`) `temp_table` where 1 GROUP BY `temp_table`.make这给了我所需的结果。

我希望这对其他人也有帮助。
发布于 2020-11-08 10:54:08
你必须同时按制造和模型进行分组,才能得到计数。
SELECT `make`,`model`, COUNT(*) as `countmakemodel`
FROM `cars_new`
WHERE `make` IN ('Chrysler', 'Ferrari', 'Citroen', 'Dodge')
GROUP BY `make`,`model`https://dba.stackexchange.com/questions/279370
复制相似问题