我有一个简单的数据集,如下所示:
每当部门 ID 更改或状态代码更改时,我都需要员工的最短开始日期和最长结束日期。
所以我为最小开始日期编写了这个公式 - 从表名组中选择 emp id、dept id、status code、min(start date) by emp id、dept id、status code。
我得到了以下结果: 结果
我的结果中缺少突出显示的日期,因为部门 ID 和状态代码重复了。由于我正在考虑最低开始日期,因此不考虑这些记录。
同样,我也需要获得最大结束日期。
任何帮助将不胜感激。
谢谢。
更新 - 添加示例数据和预期输出。
创建表员工(
emp_id int、start_date 日期、end_date 日期、dept_id int、status_code varchar(100));
插入员工价值观
('2233','1/1/2020','1/25/2020','123','活动'),
('2233','1/25/2020','2/15/2020','123','活动'),
('2233','2/15/2020','3/29/2020','123','活动'),
('2233','3/29/2020','4/11/2020','456','活动'),
('2233','4/11/2020','5/5/2020','456','离开'),
('2233','5/5/2020','6/17/2020','456','活动'),
('2233','6/17/2020','7/22/2020','456','活动'),
('2233','7/22/2020','8/19/2020','789','活动'),
('2233','8/19/2020','9/30/2020','789','终止'),
('2244','1/10/2020','1/25/2020','122','活动'),
('2244','1/25/2020','2/19/2020','122','离开'),
('2244','2/19/2020','3/31/2020','122','活动'),
('2244','3/31/2020','4/11/2020','322','活动'),
('2244','4/11/2020','5/5/2020','322','活动'),
('2244','5/5/2020','6/17/2020','322','活动'),
('2244','6/17/2020','7/22/2020','322','活动'),
('2244','7/22/2020','8/24/2020','422','活动'),
('2244','8/24/2020','9/24/2020','422','终止')
预期产出: 预期产出