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

如何在properties表中按条件合并行并叠加apartments字段数值

实现方案

你可以用条件分组+UNION ALL的方式实现需求,以下是兼容绝大多数关系型数据库的通用SQL写法:

SELECT 
  compositeKey,
  SUM(apartments) AS apartments,
  `group`,
  name
FROM properties
WHERE `group` = '----'
GROUP BY compositeKey, `group`, name

UNION ALL

SELECT 
  compositeKey,
  apartments,
  `group`,
  name
FROM properties
WHERE `group` != '----'
ORDER BY compositeKey;

逻辑说明

  • 上半段查询负责处理group为----的记录:按compositeKey、group、name三个字段分组,分组后对apartments字段求和,其余分组字段本身就是一致值,直接保留即可
  • 下半段查询负责处理group不为----的记录:不需要合并,直接输出所有原始记录即可
  • 两段结果用UNION ALL拼接,最终输出和你给出的期望结果完全匹配

注意:group是SQL语法关键字,作为字段名使用时需要加反引号/方括号转义,不同数据库的转义符号略有差异,上述写法为MySQL标准,SQL Server可替换为[group],PostgreSQL可替换为"group"。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 14:24:04