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

如何扁平化SQL结果集?按EMPLOYEECODE合并记录取起止时间极值

解决方案思路与实现代码

核心思路

通过分组聚合实现结果扁平化:以EMPLOYEECODE为分组依据,对每个分组内的STARTIME取最小值,ENDTIME取最大值,同时保留该员工的其他固定属性(如姓名等)。

通用SQL实现

SELECT
    EMPLOYEECODE,
    MIN(STARTIME) AS MIN_STARTIME,
    MAX(ENDTIME) AS MAX_ENDTIME,
    -- 若同EMPLOYEECODE对应的其他字段(如EMPLOYEENAME)值唯一,可直接使用聚合函数或加入GROUP BY
    MAX(EMPLOYEENAME) AS EMPLOYEENAME
FROM
    你的数据表名
GROUP BY
    EMPLOYEECODE
    -- 若其他字段值唯一,也可将其加入GROUP BY,比如:GROUP BY EMPLOYEECODE, EMPLOYEENAME

补充说明

  • 如果同一EMPLOYEECODE下存在其他字段值不唯一的情况,需先确认业务规则(如保留最新值/任意值),再选择对应的聚合逻辑。
  • 上述代码适用于MySQL、SQL Server、Oracle等主流关系型数据库,MIN()和MAX()为通用聚合函数,对日期类型同样生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 00:01:09