SQL如何统计归属于各品牌的对应产品数量
实现步骤与SQL语句
首先默认你存储产品与品牌关联关系的表名为products,包含两个核心字段:
product_name:存储产品名称,对应示例中的shoe1、shirt2等取值brand_name:存储产品对应的品牌名称,对应示例中的brand1、brand2等取值
常规统计维度的查询语句如下,会输出品牌、对应产品数两个独立字段,方便后续二次使用:
SELECT brand_name, COUNT(product_name) AS product_count FROM products GROUP BY brand_name ORDER BY brand_name;
如果需要完全匹配你给出的品牌 --> 数量格式的输出结果,可以调整SELECT部分的拼接逻辑(通用语法,适配绝大多数数据库):
SELECT CONCAT(brand_name, ' --> ', COUNT(product_name)) AS brand_product_stat FROM products GROUP BY brand_name ORDER BY brand_name;
新手友好的语法说明
COUNT(product_name):统计指定列的非空数据行数,这里就是计算每个品牌下的产品总数GROUP BY brand_name:按品牌名称做分组,所有统计运算都会在每个品牌的独立分组内执行,是分维度统计的核心语法ORDER BY brand_name:让最终结果按品牌名称排序,和你给出的示例输出顺序一致
如果你的实际表名、字段名和上述假设不一致,把语句里对应的名称替换为你实际的名称即可正常运行。
内容的提问来源于stack exchange,提问作者Edgar Murga
相关产品推荐
相关产品推荐

