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

如何将同一站点下所有datetime值更新为该站点对应最小datetime值

解决方案

核心逻辑是先通过分组聚合查询得到每个站点对应的最小时间,再将该结果和原表关联执行更新操作,以下提供不同数据库适配的写法:

关联子查询更新(适配SQL Server、PostgreSQL、Oracle等绝大多数数据库)

UPDATE 你的表名 t1
SET DateTime = (
    SELECT MIN(DateTime)
    FROM 你的表名 t2
    WHERE t2.Station = t1.Station
);

JOIN关联更新(适配MySQL)

UPDATE 你的表名 t1
JOIN (
    SELECT Station, MIN(DateTime) AS min_dt
    FROM 你的表名
    GROUP BY Station
) t2 ON t1.Station = t2.Station
SET t1.DateTime = t2.min_dt;

CTE关联更新(适配PostgreSQL、SQL Server、MySQL 8.0+等支持CTE特性的数据库)

WITH station_min_dt AS (
    SELECT Station, MIN(DateTime) AS min_dt
    FROM 你的表名
    GROUP BY Station
)
UPDATE 你的表名 t1
SET DateTime = t2.min_dt
FROM station_min_dt t2
WHERE t1.Station = t2.Station;

注意事项

  • 执行更新前请先将SQL中的你的表名替换为实际业务表名
  • 建议先执行以下语句验证各站点的最小时间是否符合预期,避免误更新:
SELECT Station, MIN(DateTime) AS 站点最小时间 FROM 你的表名 GROUP BY Station;
  • 生产环境执行更新前建议提前备份数据,或者在事务中执行操作,确认结果无误后再提交事务。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 00:12:03