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