获取每个给定日期之前的雇员的最新记录

用户名

我有一个状态历史记录表,其中还包括将来的过时记录。

示例:employee_jobs

id | employee_id | division_id | department_id | job_id | effective_date
1     100          1             1               1        2015-01-01
2     100          1             1               2        2016-01-01
3     100          1             2               4        2017-01-01
4     200          1             3               5        2016-01-01
5     300          1             3               6        2015-01-01
6     300          1             3               7        2016-05-25

我需要一个预成型的SQL,该SQL在给定日期时将显示给定的employee_id的当前活动记录:示例日期= 2016-08-15

结果集应为:

id | employee_id | division_id | department_id | job_id | effective_date
2     100          1             1               2        2016-01-01
4     200          1             3               5        2016-01-01
6     300          1             3               7        2016-05-25
1000111

我猜你要为每个员工有最新的记录effective_date约束

effective_date必须小于或等于给定的日期)

SELECT 
*
FROM 
(
    SELECT 
    *,
    IF(@sameEmployee = employee_id, @rn := @rn + 1,
         IF(@sameEmployee := employee_id, @rn := 1, @rn := 1)
     ) AS row_number
    FROM employee_jobs
    CROSS JOIN (SELECT @sameEmployee := 0, @rn := 1) var
    WHERE effective_date <= '2016-08-15'
    ORDER BY employee_id, effective_date DESC
) AS t
WHERE t.row_number = 1
ORDER BY t.employee_id 

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

获取每个给定日期之前的雇员的最新记录

来自分类Dev

在给定日期之前加入最新值

来自分类Dev

获取给定日期的Oracle最新条目

来自分类Dev

在给定日期时间之前查找列表中的最新日期时间

来自分类Dev

仅显示MySQL中每条记录的最新给定日期

来自分类Dev

查找距给定日期/时间戳最近的记录(之前或之后)

来自分类Dev

SQL:查找具有给定日期范围内每个月的数据的记录

来自分类Dev

获取一组记录与给定日期的最接近日期

来自分类Dev

Prolog,比较日期以查看给定日期之前

来自分类Dev

选择给定日期和日期之间的记录。

来自分类Dev

需要帮助才能在给定日期从2个以上的表中获取记录

来自分类Dev

需要帮助以在给定日期从2个以上的表中获取记录

来自分类Dev

如何使用Jongo运行查询以获取给定日期之间的记录?

来自分类Dev

Linq to SQL-在特定日期之前获取每个设备的最新已知历史记录条目

来自分类Dev

返回给定日期内的所有记录

来自分类Dev

SQL从给定日期选择前3条记录

来自分类Dev

SQL从给定日期选择前3条记录

来自分类Dev

如何获取特定周中给定日期的日期?

来自分类Dev

如何在MySQL查询中获取具有最高日期作为给定日期的记录数

来自分类Dev

获取两个给定日期之间的总和

来自分类Dev

获取给定日期的月份中的星期几

来自分类Dev

获取给定日期的gps周数

来自分类Dev

从给定日期获取包括每隔14天的数组

来自分类Dev

SQL查询以获取给定日期的产品价值

来自分类Dev

获取给定日期的gps周数

来自分类Dev

获取php中给定日期的平均值

来自分类Dev

如何从给定日期获取月份名称和年份?

来自分类Dev

查询以在记录“开始”和“停止”日期的表中查找给定日期的活动记录

来自分类Dev

使用基于集合的方法获取给定日期范围之间的特定日期

Related 相关文章

  1. 1

    获取每个给定日期之前的雇员的最新记录

  2. 2

    在给定日期之前加入最新值

  3. 3

    获取给定日期的Oracle最新条目

  4. 4

    在给定日期时间之前查找列表中的最新日期时间

  5. 5

    仅显示MySQL中每条记录的最新给定日期

  6. 6

    查找距给定日期/时间戳最近的记录(之前或之后)

  7. 7

    SQL:查找具有给定日期范围内每个月的数据的记录

  8. 8

    获取一组记录与给定日期的最接近日期

  9. 9

    Prolog,比较日期以查看给定日期之前

  10. 10

    选择给定日期和日期之间的记录。

  11. 11

    需要帮助才能在给定日期从2个以上的表中获取记录

  12. 12

    需要帮助以在给定日期从2个以上的表中获取记录

  13. 13

    如何使用Jongo运行查询以获取给定日期之间的记录?

  14. 14

    Linq to SQL-在特定日期之前获取每个设备的最新已知历史记录条目

  15. 15

    返回给定日期内的所有记录

  16. 16

    SQL从给定日期选择前3条记录

  17. 17

    SQL从给定日期选择前3条记录

  18. 18

    如何获取特定周中给定日期的日期?

  19. 19

    如何在MySQL查询中获取具有最高日期作为给定日期的记录数

  20. 20

    获取两个给定日期之间的总和

  21. 21

    获取给定日期的月份中的星期几

  22. 22

    获取给定日期的gps周数

  23. 23

    从给定日期获取包括每隔14天的数组

  24. 24

    SQL查询以获取给定日期的产品价值

  25. 25

    获取给定日期的gps周数

  26. 26

    获取php中给定日期的平均值

  27. 27

    如何从给定日期获取月份名称和年份?

  28. 28

    查询以在记录“开始”和“停止”日期的表中查找给定日期的活动记录

  29. 29

    使用基于集合的方法获取给定日期范围之间的特定日期

热门标签

归档