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

使用带条件的多重GROUP BY实现SQL行转列统计蔬菜各篮子存储量

实现方案

你需要的是行转列的统计效果,通过GROUP BY搭配条件聚合即可实现,兼容MySQL、PostgreSQL、SQL Server等绝大多数主流数据库。

参考SQL语句

SELECT
  vegetables,
  SUM(CASE WHEN basket = 'basketA' THEN amount ELSE NULL END) AS basketA,
  SUM(CASE WHEN basket = 'basketB' THEN amount ELSE NULL END) AS basketB,
  SUM(CASE WHEN basket = 'basketC' THEN amount ELSE NULL END) AS basketC,
  SUM(CASE WHEN basket = 'basketD' THEN amount ELSE NULL END) AS basketD,
  SUM(amount) AS total
FROM 你的表名
GROUP BY vegetables;

如果希望无数据的位置显示0而不是空白,把语句中的ELSE NULL改成ELSE 0即可。

逻辑说明

  • 首先按vegetables字段分组,将同一种蔬菜的所有记录聚合到同一行
  • 针对每个篮子列,通过CASE WHEN判断当前记录所属的篮子,符合条件则取对应数量求和,否则返回空
  • 最后直接对amount求和得到该蔬菜的总数量

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 19:30:03