Php 由于group by子句,select with count in sub select会产生不需要的结果

Php 由于group by子句,select with count in sub select会产生不需要的结果,php,mysql,Php,Mysql,此查询正常工作,但我丢失了分组在每个品牌下的模型。 是否有办法列出并计算型号? 即brand1、model1、model2、model3、countMod=3——brand2、model1、model2、countMod=2。 任何帮助都将不胜感激。谢谢推荐的方法是运行两个查询,一个查询数据,另一个查询使用COUNT() 在MySQL中,您还可以使用SQL\u CALC\u FOUND\u ROWS(大多数情况下,如果您有LIMIT子句),但是其性能是有争议的,请参见。尝试以下方法: SELEC

此查询正常工作,但我丢失了分组在每个品牌下的模型。
是否有办法列出并计算型号?
即brand1、model1、model2、model3、countMod=3——brand2、model1、model2、countMod=2。

任何帮助都将不胜感激。谢谢

推荐的方法是运行两个查询,一个查询数据,另一个查询使用
COUNT()

在MySQL中,您还可以使用
SQL\u CALC\u FOUND\u ROWS
(大多数情况下,如果您有
LIMIT
子句),但是其性能是有争议的,请参见。

尝试以下方法:

SELECT t.id_type, brand, model, countMod FROM types t  
    LEFT JOIN (
       SELECT p.id_type, brand, model, COUNT( model ) AS countMod 
           FROM products p  
           GROUP BY brand) p2 
    ON t.id_type = p2.id_type 
    WHERE t.id_type = "TCE" 
    ORDER BY brand

这是答案吗??这应该是一个comment@SashiKant我不明白为什么这应该是一个评论,因为它直接解决了这个问题:“有没有一种方法可以列出并计算模型?”
SELECT 
t.id_type, 
brand,
GROUP_CONCAT(model SEPARATOR ',') as model, 
COUNT( model ) AS countMod 
FROM types t
LEFT JOIN products p  ON t.id_type = p.id_type
WHERE t.id_type = "TCE" 
GROUP BY brand
ORDER BY brand
SELECT brand, GROUP_CONCAT(model) models, COUNT(model) AS countMod
FROM products
GROUP BY brand