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

使用TSQL获取每个人员及其编号对应的最大与最小日期

TSQL按人员分组获取最小/最大日期解决方案

没问题,这个需求用TSQL的分组聚合功能就能轻松实现!我给你写个通用的示例,你可以根据自己的表结构调整字段名:

假设你的数据存储在名为PersonRecords的表中,其中:

  • PersonID是人员编号字段
  • RecordDate是记录日期字段

对应的TSQL语句如下:

SELECT
    PersonID AS 人员编号,
    MIN(RecordDate) AS 最小日期,
    MAX(RecordDate) AS 最大日期
FROM
    PersonRecords
GROUP BY
    PersonID;

简单解释:

  • GROUP BY PersonID:按照人员编号对数据进行分组,确保每个人员的所有记录被归为一组
  • MIN(RecordDate):计算每组中最早的日期
  • MAX(RecordDate):计算每组中最晚的日期

如果你的日期字段可能存在NULL值,想要处理这些情况的话,可以用ISNULL或者COALESCE设置默认值,比如:

SELECT
    PersonID AS 人员编号,
    -- 把NULL日期替换成1900-01-01作为最小日期的默认值
    MIN(ISNULL(RecordDate, '1900-01-01')) AS 最小日期,
    -- 把NULL日期替换成当前日期作为最大日期的默认值
    MAX(ISNULL(RecordDate, GETDATE())) AS 最大日期
FROM
    PersonRecords
GROUP BY
    PersonID;

只需要把示例中的表名和字段名替换成你实际使用的名称,就能得到想要的结果啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.06 16:59:08