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

PostgreSQL:如何对指定Car ID的多字段求和并合并为单行

解决方案

首先明确表关联逻辑:booking表与cars表通过car_id关联,booking_extras表与booking表通过booking_id关联(若实际关联字段不同,可自行替换)。

要实现指定Car ID的各km字段单行汇总,你需要:

  • 用SUM()函数对每个km字段分别求和
  • 仅按car_id分组(不要将km字段加入GROUP BY)
  • 通过WHERE子句过滤目标Car ID(比如8)

示例SQL语句:

SELECT
    c.car_id,
    SUM(be.km) AS total_km,
    SUM(be.km_50) AS total_km_50,
    SUM(be.km_100) AS total_km_100
    -- 其他需要求和的km字段可继续添加
FROM
    cars c
JOIN
    booking b ON c.car_id = b.car_id
JOIN
    booking_extras be ON b.booking_id = be.booking_id
WHERE
    c.car_id = 8
GROUP BY
    c.car_id;

关键说明

  • 移除GROUP BY中的km字段,仅保留car_id作为分组依据,确保返回单行汇总结果
  • 每个km字段单独用SUM()包裹,得到对应字段的总合计值
  • 若存在booking无对应booking_extras记录的情况,可改用LEFT JOIN避免数据被过滤

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 07:29:54