组重复的组中的最小和最大日期

  • 本文关键字:日期 sql ms-access
  • 更新时间 :
  • 英文 :


我已经杀死了我的电子表格-谁知道查询18万行会太多。:)
我已经计划好了我的数据库替换,但是在规范化和清理电子表格数据时遇到了几个绊脚石。

我有一个类似于下面的数据表,称为RD1

需要组标识符。使用给定的样本:前3条记录是第1组,接下来的2条是第2组,最后2条是第3组。使用Excel后面的VBA来填充列。当Contract值变化时,组ID也随之变化。

Sub SetGID()
Dim c As Integer, r As Integer, x As Integer, i As Integer
c = 1
r = 2
i = 1
x = Cells(r, 4)
Do While Not IsEmpty(Cells(r, 2))
Cells(r, 1) = i
r = r + 1
If Cells(r, 4) <> x Then
i = i + 1
x = Cells(r, 4)
End If
Loop
End Sub

或者将数据原样导入到Access中,然后运行类似的过程来更新表中的字段。这将涉及打开记录集并循环其记录。

聚合查询在GroupID上进行汇总。

SELECT          GroupID, EmpNo, Contract, 
MIN(WorkDate) AS StartDate, 
MAX(WorkDate) AS EndDate
FROM            RD1
GROUP BY        GroupID, EmpNo, Contract  

我的问题中遗漏了一点,这一点非常重要,即当EmpNo开始时,它们将具有连续的日期,直到它们完成时没有遗漏日期。考虑到这一点,您可以将表连接到表本身以返回前一天和第二天的数字。

RD1

相关内容

  • 没有找到相关文章

最新更新