在 SQL 中计算连续缺勤

2023-12-01

我需要计算 SQL 中在某个日期范围内连续缺勤 X 次的所有员工。

我们有一个缺勤表,其中包含员工每天缺勤的 1 条记录,还有一个日历表,其中包含一年中的工作日。

tblAbsences
EmployeeID int
AbsenceDate datetime

tblCalendar
WorkDay datetime

有谁知道如何计算连续缺勤吗?示例:2009 年 1 月 1 日至 2009 年 3 月 1 日期间连续缺勤 3 次的所有员工。


这应该对你有用。在 ConsecDates 上进行 GROUP BY 查找谁缺席次数超过 X 次。

select a.*, 
        (
            select min(b.absenceDate) from tblAbsences b where a.employeeId = b.employeeId 
            and b.absenceDate >= a.absenceDate
            and not exists ( 
                select 1 from tblabsences c where c.employeeId = b.employeeId and dateadd( dd, 1, b.absenceDate) = c.absenceDate  
            )
) ConsecDates
from dbo.tblAbsences a
order by a.AbsenceDate asc
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 SQL 中计算连续缺勤 的相关文章

随机推荐

  • 在spring roo中添加自定义页面

    我有一个关于 spring roo 的问题 如何将自定义页面添加到您的 Web 应用程序 如果我使用标准 Servlet 这似乎非常基本且简单 但我完全困惑在 Spring roo 中执行此操作 我想要的只是主页 带有菜单等 中有一个链接到
  • 简单的互操作测试;通过简单的调用使堆栈不平衡

    我目前正在研究与互操作相关的问题 并编写了一个小型测试程序 以帮助我弄清楚发生了什么 有问题的问题涉及对更复杂的本机函数的调用 很难在此处发布 无论如何 我有一个非常简单的本机 dll 其中仅包含以下代码 extern C declspec
  • 无法通过 Ubuntu 终端在 Github 上推送

    我正在尝试从我的 Ubuntu 机器推送到 github 我可以从 Visual Studio Code 终端推送 但无法从 Ubuntu 终端或 Android Studio 终端推送 每次我尝试从终端或 android studio 终
  • 如何终止 jboss 超时的数据库事务

    我用的是jboss 4 2 3 它具有设置 TransactionTimeout 在jboss service xml中 指定允许事务执行多长时间 不幸的是 当超时过去时 执行不会立即中止 如果事务正在执行某些操作 则只会将其标记为稍后回滚
  • 插值内的 Angular MatToolTip 条件

    我正在为 MatToolTip 添加角度条件 首先 以下内容仅适用于 1 个字符串分配 matToolTip myData name 但我需要添加如下条件 matToolTip myData hasName myData name myDa
  • java https网络问题

    我正在尝试实现最简单的 HTTPS 通信程序 网上有很多例子 但我没能成功运行 这是一个例子 public class ReadHttpsURL1 static final int HTTPS PORT 443 public static
  • 为什么在 python map() 和 multiprocessing.Pool.map() 中得到不同的答案?

    我有一个奇怪的问题 我有一个格式的文件 START 1 2 STOP lllllllll START 3 5 6 STOP 我想读一下之间的内容START and STOP作为块 并使用my f处理每个块 def block generat
  • 通过 JavaScript 检索所有已安装打印机的列表

    我收到了一个网页的屏幕截图 其中显示了组合框中客户端可访问的所有已安装打印机 本地和网络打印机 的列表 并让用户选择一台 甚至还有一个刷新列表的按钮 我无权访问该页面 无法证明其功能 是否有可能在网页中以任何方式执行此操作或模拟此工作 如果
  • Office365 REST API - 创建带有附件的日历事件

    我无法使用 Office365 的 Rest API 创建带有附件的日历事件 创建没有附件的事件不是问题 尝试创建带有附件的事件会创建事件 但不会添加我发送的文件 服务器以 201 响应代码进行响应 我正在向以下地址发送 POST 请求 h
  • 按上次修改日期时间过滤 Onedrive 项目

    我尝试通过 lastModifiedDatetime 属性从 Microsoft Graph 端点中筛选 OneDrive 项目 像这样的东西 https graph microsoft com beta me drive special
  • 如何使用 Groovy 的正则表达式获取部分匹配的布尔值?

    Groovy 有一个正则表达式 匹配运算符 The 文档说它返回一个布尔值 但需要 严格匹配 它没有定义 严格匹配 我不熟悉该表达式所在的任何正则表达式系统false 但是 这就是 Groovy 告诉我的 foo bar baz bar g
  • 为什么不捕获一般异常

    我的VS刚刚告诉我 警告 2 CA1031 Microsoft Design 修改 Program Main string 以捕获比 Exception 更具体的异常或重新引发异常 我为什么要那么做 如果我这样做 并且没有捕获所有异常来处理
  • 如何实时回显输出(在脚本完成之前)?

    在脚本执行完毕之前如何输出到浏览器 例如 下面的代码将一次输出所有 100 个 hi 我该如何制作 以便在读取 处理该代码部分后立即输出 例如 PHPBB3论坛显示了逐步安装过程 在循环之前调用 ob implicit flush 请注意
  • 进入振奋精神; Qi还是X3?

    我正在和一个朋友一起为一个小型个人项目做一名口译员 我们开始实现所有类和通用结构 其中代码将被翻译然后执行 只是为了推迟将实际解析代码放入这些结构中 现在我们必须构建解析器 经过一番搜索 我发现到处都有帖子和人们谈论spirit Qi和sp
  • whereArrayContains 限制为 10

    我要过滤问题集合基于tagIDs 一切工作正常但是其中数组包含最多适用于 10 个 id 我怎样才能提高我的结构工作超过10年tagIDs并且确保尽可能少地调用服务器减少金钱支出 Firestore root questions colle
  • 如何使用 Robot 在 IE11 中打开保存对话框弹出窗口

    我正在 IE11 上执行测试 无法使用任何其他浏览器 在执行时 我会弹出下载窗口 并希望将文件下载到 TestResult 文件夹中 我如何使用 Robot 来实现这一目标 我也读过有关 AutoIT 的内容 但不确定 因为我对这些还很陌生
  • AS3 - Flash/AIR 套接字通信 writeUTFBytes 仅有效一次

    我有一个套接字服务器侦听 2 个端口 其中 1 个端口用于套接字服务器 1 个端口用于策略服务器 我的代码如下 在这种情况下 数据发送和接收完全正常 但是 例如 如果我添加一个带有简单按钮的按钮 socket writeUTFBytes M
  • Exoplayer - 保存和恢复片段内旋转的状态

    我有一个托管 SimpleExoplayer 的片段 我想确保我正确处理屏幕旋转 现在 播放器重置到屏幕旋转的起点 我已经在 onStart 和 onResume 中实现了方法 所以我很好奇我需要哪些额外的代码 Override publi
  • 更改 Asp.Net 5 中的组件视图位置

    在 ASP NET 5 上 组件视图必须位于以下两个位置之一 Views NameOfControllerUsingComponent Components ComponentName Default cshtml Views Shared
  • 在 SQL 中计算连续缺勤

    我需要计算 SQL 中在某个日期范围内连续缺勤 X 次的所有员工 我们有一个缺勤表 其中包含员工每天缺勤的 1 条记录 还有一个日历表 其中包含一年中的工作日 tblAbsences EmployeeID int AbsenceDate d