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

如何按类型统计服饰库存表中不同用户的各类商品总数量?

服饰库存表分类求和SQL实现方案

你原有SQL的问题在于仅筛选了type为2的鞋子数据,且没有做不同类型的分字段统计,同时SELECT中出现了未分组也未用聚合函数包裹的type字段,在开启严格模式的数据库中会直接执行报错,自然无法得到同时包含衬衫、鞋子两个维度的求和结果。

通用兼容写法(支持所有主流数据库)

采用条件聚合逻辑实现需求,兼容MySQL、PostgreSQL、SQL Server等所有主流数据库:

SELECT 
  Name,
  SUM(CASE WHEN Type = 3 THEN Quantity ELSE 0 END) AS Shirts,
  SUM(CASE WHEN Type = 2 THEN Quantity ELSE 0 END) AS Shoes
FROM Clothes
GROUP BY Name

逻辑说明:

  • 按Name字段分组,对每个用户的库存分别统计
  • 统计衬衫数量时,仅当Type值为3时计入对应Quantity,否则计入0,求和后得到该用户的衬衫总库存
  • 统计鞋子数量时,仅当Type值为2时计入对应Quantity,否则计入0,求和后得到该用户的鞋子总库存

MySQL专属简化写法

如果使用MySQL数据库,可以用IF函数简化条件判断:

SELECT 
  Name,
  SUM(IF(Type = 3, Quantity, 0)) AS Shirts,
  SUM(IF(Type = 2, Quantity, 0)) AS Shoes
FROM Clothes
GROUP BY Name

以上两种写法执行后都可以得到你需要的统计结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 23:24:03