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

PostgreSQL中合并相同equipment_number的多行数据为单行

PostgreSQL 按equipment_number合并多行数据为单行

需要将PostgreSQL表中具有相同equipment_number的多行数据合并为单行,以减少数据行数。

原始表结构及数据

equipment_numberetdetaatdata
MAHE83464612023-02-03 10:02:002023-01-03 10:02:00nullnull
MAHE8346461nullnull2022-02-03 10:02:00null
MAHE8346462null2022-02-04 13:02:00null2022-02-04 13:02:00
MAHE83464622022-02-04 13:02:002022-02-04 13:02:002022-02-03 10:02:00null
MAHE8346462null2022-02-04 13:02:00nullnull

期望结果

equipment_numberetdetaatdata
MAHE83464612023-02-03 10:02:002023-01-03 10:02:002022-02-03 10:02:00null
MAHE83464622022-02-04 13:02:002023-01-03 10:02:002022-02-03 10:02:002022-02-04 13:02:00

解决方案

使用PostgreSQL的聚合函数MAX()配合分组查询即可实现,MAX()会自动忽略null值,若同一字段存在多个非null值,会取其中最大的数值(日期类型则取最晚日期),正好匹配需求。

执行以下SQL语句(将your_table_name替换为你的实际表名):

SELECT 
    equipment_number,
    MAX(etd) AS etd,
    MAX(eta) AS eta,
    MAX(atd) AS atd,
    MAX(ata) AS ata
FROM your_table_name
GROUP BY equipment_number;

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 06:35:04