- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
员工连续缺勤 10 天。
以下是我拥有的数据。
我需要获取FromDate(缺少开始日期)
和ToDate(缺少结束日期)
条件是这样的
if the 10 days Continuous where STATUS='A' Included STATUS='R'
仅供引用:
“A”不存在
“R”作为休息日
“L”表示离开
DECLARE @SomeTable TABLE ([EmpId] INT,[Date] DATETIME,[STATUS] char(1))
--YOUR SAMPLE DATA
INSERT INTO @SomeTable
([EmpId],[Date],[STATUS])
SELECT 999,'2016-07-11 00:00:00.000','A'
UNION SELECT 999,'2016-07-10 00:00:00.000','A'
UNION SELECT 999,'2016-07-09 00:00:00.000','R'
UNION SELECT 999,'2016-07-08 00:00:00.000','R'
UNION SELECT 999,'2016-07-07 00:00:00.000','A'
UNION SELECT 999,'2016-07-06 00:00:00.000','A'
UNION SELECT 999,'2016-07-05 00:00:00.000','A'
UNION SELECT 999,'2016-07-04 00:00:00.000','A'
UNION SELECT 999,'2016-07-03 00:00:00.000','A'
UNION SELECT 999,'2016-07-02 00:00:00.000','R'
UNION SELECT 999,'2016-07-01 00:00:00.000','R'
UNION SELECT 999,'2016-06-30 00:00:00.000','A'
UNION SELECT 999,'2016-06-29 00:00:00.000','A'
UNION SELECT 999,'2016-06-28 00:00:00.000','A'
UNION SELECT 999,'2016-06-27 00:00:00.000','L'
UNION SELECT 999,'2016-06-26 00:00:00.000','A'
UNION SELECT 999,'2016-06-25 00:00:00.000','R'
SELECT * FROM @SomeTable
我想得到以下输出:
EmpId FromDate ToDate
999 2016-06-28 00:00:00.000 2016-07-11 00:00:00.000
最佳答案
您可以使用以下查询:
SELECT EmpId,
MAX(CASE WHEN rn = 1 THEN [Date] END) AS FromDate,
MAX(CASE WHEN rn = 10 THEN [Date] END) AS ToDate
FROM (
SELECT EmpId, [Date], STATUS, grp,
ROW_NUMBER() OVER (PARTITION BY EmpId, STATUS, grp
ORDER BY [Date]) AS rn
FROM (
SELECT EmpId, [Date], STATUS,
ROW_NUMBER() OVER (PARTITION BY EmpId ORDER BY [Date]) -
ROW_NUMBER() OVER (PARTITION BY EmpId, STATUS
ORDER BY [Date]) AS grp
FROM @SomeTable
WHERE STATUS <> 'R') AS t) AS s
GROUP BY EmpId, STATUS, grp
HAVING COUNT(*) >= 10
编辑:
如果要求获取任意数量的连续'A'
记录,前提是连续记录片的总数等于或大于10
,查询可以大大简化为:
SELECT EmpId,
MIN([Date]) AS FromDate,
MAX([Date]) AS ToDate
FROM (
SELECT EmpId, [Date], STATUS,
ROW_NUMBER() OVER (PARTITION BY EmpId ORDER BY [Date]) -
ROW_NUMBER() OVER (PARTITION BY EmpId, STATUS ORDER BY [Date]) AS grp
FROM @SomeTable
WHERE STATUS <> 'R') AS t
GROUP BY EmpId, STATUS, grp
HAVING COUNT(*) >= 10
关于sql - 如果连续缺席 10 天,如何获取 FromDate 和 ToDate?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38343251/
我遇到过以下查询,但不确定它们之间是否有任何区别, select * from table where date between fromdate and todate V/S select * fr
很高兴听到有关如何改进/缩短此方法的建议。简而言之,需要: 查找星期几(例如星期三)与传递给该方法的内容匹配的下一个日期。 例如,给定日期(包括该给定日期)的下一个WED 下面的代码: - (NSDa
我希望有人能在这方面帮助我...... 我有这个功能,它按预期工作。它检查闰年并相应地花费 365 或 366 天。 问题:我不想检查闰年,而是想检查 fromdate 和 todate,如果这些日期
我有一个 MySQL 表,其中有两列 Fromdate 和 Todate。当我在 MySQL 中执行存储过程时,我想将上表中的 fromdate 和 todate 更新为下一个日期。 例如 @From
我有一个要求,我需要两个日期选择器来输入起始日期和截止日期。截止日期应该大于或等于起始日期(选择起始日期后,所有以前的日期都应该在第二个 Datepiker 中禁用)。也from date 和 tod
我有一个客户预订表,其中有多个客户,一个客户可以有多个订单,因此我必须从该表中找到哪个客户的当前或事件订单。有两列“起始日期”和“截止日期”。我想要跟踪活跃客户的订单,并希望回答活跃客户订单的计数。
有人知道如何在 Firestore 中保留 UTC 时间戳吗? 在我的 Angular 应用程序中,如果我将今天的日期转换为如下所示的时间戳,最终会得到 UTC+2 (现在是夏令时)瑞士)Firest
我想在选择 FromDate 和 ToDate 时启用提交按钮。 在我的案例中,所有表单都已填满以启用提交按钮。 $('#myform > input').on('input', function(
在 tableviewcontroller 中,我有这段代码来获取从 0 到 6 的天数数组,其中它以当前天数排在第一位。 self.dayOrder=[NSMutableArray new]; NS
我有一个方法可以通过将小时和秒组件分解成 NSDateComponents 来提取小时和秒组件以形成 NSDate。我的代码如下... unsigned hourAndMinuteFlags = NS
我是C#的新手,正在创建一个控制台应用程序,该应用程序使用API连接到Google Analytics(分析)。我知道了,因此它可以将控制台中捕获的数据写入并导出为CSV,但是我在这里指定了日期:
我的要求是,我有两个日历日期选择器控件。 FromDate 和 ToDate。我想要的是,每当用户在 FromDate 中添加日期,然后在 ToDate 中添加日期。 ToDate 不应小于 From
我可以使用 MySql Week 函数轻松获得周数,如下所示 WEEK(SYSDATE()) 我只是想知道如何在 MySQL 中使用周数获取从和到日期。 要求的结果: Week No From d
我需要找到没有。两个日期之间的月份数,包括两个月份。我正在使用 ChronoUnit.Months.between,但得到了意想不到的结果。 代码适用于:1 月 31 日 - 7 月 31 日 失败日
员工连续缺勤 10 天。 以下是我拥有的数据。 我需要获取FromDate(缺少开始日期)和ToDate(缺少结束日期) 条件是这样的 if the 10 days Continuous where
这里我有一个包含 fromDate 和 toDate 字段的数据库表。我的要求是检索具有特定日期的所有记录(它可以是 fromDate 或 toDate 或介于 fromDate 和 toDate 之
我在多个 UITextFields 上使用单个 UIDatePicker。当点击 UITextField 时,它会调用 UIDatePicker 并在选择器滚动时更新文本。这一切都很好,但现在我想做一
假设我们有两个表,分别称为表 A 和表 B在表 A 中有 fromdate 和 Todate 列,它们是员工的日期表 B 中有 f1date 、 T1date 、 empID表 A fromdate
我已经阅读了一些关于如何在 iOS 中计算两个日期之间的差异的线程,这里有一个示例似乎也由 Apple 文档提供,我用它来确定两个日期是否相同(忽略时间) .但是 components: 方法总是返回
我不确定我做错了什么?什么是fromdate,什么是todate?这是我的代码... 最大日期完美运行,所以我真的很困惑。在我看来,新的 Date().getTime 应该返回正确的值还是其他值?
我是一名优秀的程序员,十分优秀!