查询以在给定时间内从跟踪表获取唯一状态

普拉迪普H

有方案选择给定时间内跟踪表中存在的唯一值

表值,例如

在此处输入图片说明

HistoryId   EmpId   RoleName    TimeStamp
1   1   Developer   8:00:00 AM
2   1   Lead        8:00:00 PM
3   1   Mgr         5:00:00 PM
4   2   Lead        8:00:00 AM
5   2   Developer2  5:00:00 PM
6   2   Mgr2        8:00:00 PM
7   3   Mgr         8:00:00 AM
8   3   Lead2       5:00:00 PM
9   3   Developer3  8:00:00 PM
11  3   Developer4  8:30:00 PM
12  1   lead5       8:15:00 PM

想要在给定时间内为用户选择唯一的RoleName值,

示例-如果我将时间设为6PM,则应选择6PM时每个用户的最新状态

我尝试如下选择,但是给定了所有值,因为我只需要为通过的时间值提供最新值

Select  EmpId, RoleName, MAX(TimeStamp)
From [dbo].[EmpRoleHistory]
Where TimeStamp <= '2020-02-06 18:00:00.000'
GROUP BY EmpId, RoleName
ORDER BY EmpId

预期结果:

1   Mgr         2020-02-06 17:00:00.000
2   Developer2  2020-02-06 17:00:00.000
3   Lead2       2020-02-06 17:00:00.000

当前结果:

1   Developer   2020-02-06 08:00:00.000
1   Mgr         2020-02-06 17:00:00.000
2   Developer2  2020-02-06 17:00:00.000
2   Lead        2020-02-06 08:00:00.000
3   Lead2       2020-02-06 17:00:00.000
3   Mgr         2020-02-06 08:00:00.000

问题在这里

GROUP BY EmpId, RoleName

如我所见,相同之处与EmpId有所不同RoleName

这就是为什么您获得不同价值的原因。

db <> fiddle上的演示

 ;with cte_TempTable as
(
Select  EmpId, MAX(TimeStamp) as TimeStamp
From [dbo].[EmpRoleHistory]
Where TimeStamp <= '2020-02-06 17:00:00.000'
GROUP BY EmpId
)
select e.*
from EmpRoleHistory e
inner join cte_TempTable c on e.EmpId = c.EmpId
where e.TimeStamp = c.TimeStamp
ORDER BY e.EmpId

输出量

在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在给定时间内自动删除会话变量

来自分类Dev

在给定时间内滚动到 div 的底部

来自分类Dev

Love2D在给定时间内旋转图像,直到达到一定角度

来自分类Dev

如何在给定时间内重定向到Struts中的另一个动作?

来自分类Dev

在给定的时间内暂停Outlook

来自分类Dev

给定时间内的Postgres SUM

来自分类Dev

如何编写在给定时间内不执行任何操作的函数?

来自分类Dev

SQL在给定时间内获得最高数量的记录

来自分类Dev

使用Rails如何在给定时间内查找用户预订的课程

来自分类Dev

重击:如果命令没有在给定时间内完成-更改变量

来自分类Dev

Bash-如何查找在给定时间内未修改的文件?

来自分类Dev

检查用户是否已在给定时间内运行程序

来自分类Dev

如何计算用户在给定时间内按下某个键的次数

来自分类Dev

SQL:在给定时间内带有员工和员工职称的销售列表

来自分类Dev

如何制作一个tkinter GUI来计算您在给定时间内用python赚多少钱

来自分类Dev

在给定的时间内锁定SQL Server表,并检查其是否被锁定

来自分类Dev

如何在C ++中使用计时器在给定时间内强制输入?

来自分类Dev

如果在给定时间内没有发射任何元素,如何使Flux发射额外的元素?

来自分类Dev

在给定的时间内禁用所有表单按钮?

来自分类Dev

在给定的超时时间内等待条件

来自分类Dev

是否可以在恒定时间内获取数组的一部分?

来自分类Dev

如何在恒定时间内获取每个元素?

来自分类Dev

如何在恒定时间内获取每个元素?

来自分类Dev

Excel公式可计算在给定的第一笔订单时间内每个人的订单

来自分类Dev

在一定时间内终止进程的逻辑

来自分类Dev

在一定时间内显示通知消息

来自分类Dev

在一定时间内运行循环的最佳方法

来自分类Dev

在一定时间内重启systemd服务

来自分类Dev

WooCommerce-在一段时间内按用户获取完成的状态订单

Related 相关文章

  1. 1

    在给定时间内自动删除会话变量

  2. 2

    在给定时间内滚动到 div 的底部

  3. 3

    Love2D在给定时间内旋转图像,直到达到一定角度

  4. 4

    如何在给定时间内重定向到Struts中的另一个动作?

  5. 5

    在给定的时间内暂停Outlook

  6. 6

    给定时间内的Postgres SUM

  7. 7

    如何编写在给定时间内不执行任何操作的函数?

  8. 8

    SQL在给定时间内获得最高数量的记录

  9. 9

    使用Rails如何在给定时间内查找用户预订的课程

  10. 10

    重击:如果命令没有在给定时间内完成-更改变量

  11. 11

    Bash-如何查找在给定时间内未修改的文件?

  12. 12

    检查用户是否已在给定时间内运行程序

  13. 13

    如何计算用户在给定时间内按下某个键的次数

  14. 14

    SQL:在给定时间内带有员工和员工职称的销售列表

  15. 15

    如何制作一个tkinter GUI来计算您在给定时间内用python赚多少钱

  16. 16

    在给定的时间内锁定SQL Server表,并检查其是否被锁定

  17. 17

    如何在C ++中使用计时器在给定时间内强制输入?

  18. 18

    如果在给定时间内没有发射任何元素,如何使Flux发射额外的元素?

  19. 19

    在给定的时间内禁用所有表单按钮?

  20. 20

    在给定的超时时间内等待条件

  21. 21

    是否可以在恒定时间内获取数组的一部分?

  22. 22

    如何在恒定时间内获取每个元素?

  23. 23

    如何在恒定时间内获取每个元素?

  24. 24

    Excel公式可计算在给定的第一笔订单时间内每个人的订单

  25. 25

    在一定时间内终止进程的逻辑

  26. 26

    在一定时间内显示通知消息

  27. 27

    在一定时间内运行循环的最佳方法

  28. 28

    在一定时间内重启systemd服务

  29. 29

    WooCommerce-在一段时间内按用户获取完成的状态订单

热门标签

归档