You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用SQL按品牌分组统计对应产品的总数量?

嘿,这个需求其实很好实现,咱们用GROUP BY搭配SUM和DISTINCT就能搞定,我给你捋清楚:

核心思路

要按品牌统计产品总数量,首先得按品牌分组,然后针对每个分组,用SUM(DISTINCT ...)来完成去重后的求和操作——这刚好满足你要求的DISTINCT列结合SUM函数的需求。

示例SQL语句

假设咱们有一张名为products的表,包含brand(品牌名称)、product_id(产品唯一标识)、units(该产品的库存/数量)这几个字段,SQL可以这么写:

SELECT
  brand AS 'Brand',
  SUM(DISTINCT units) AS 'Units'
FROM products
GROUP BY brand
ORDER BY Units DESC;

语句解释

  • GROUP BY brand:把所有记录按品牌分组,确保我们统计的是每个品牌单独的总数
  • SUM(DISTINCT units):先对当前品牌分组下的units值去重(避免重复计算同一款产品的数量),再把去重后的数值求和,得到该品牌的总产品数量
  • ORDER BY Units DESC:可选操作,把结果按数量从多到少排序,方便查看

示例结果

执行后你会得到类似这样的结果(和你期望的格式一致):

BrandUnits
Apple32
Android29
Samsung13

额外说明

如果你的场景里,每条记录都是唯一的产品条目(没有重复的产品记录),那其实不需要DISTINCT,直接用SUM(units)就行,但既然要求结合DISTINCT,上面的写法就完全符合要求啦。记得把表名和字段名替换成你实际使用的哦~

内容的提问来源于stack exchange,提问作者ObamoDank

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.06 09:49:04