android如何实现固定时间段内的工作时间求和

发布时间:2022-01-13 09:32:59 作者:小新
来源:亿速云 阅读:149

这篇文章主要介绍android如何实现固定时间段内的工作时间求和,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

    最近碰到了两次这种情况,类似于使用打卡时间求一段时间内的工作时间之和,给出的表数据大致是这样的

android如何实现固定时间段内的工作时间求和

    ID:车间ID 

    gid:设备id

    ACTIVITY:类型 ,有两种:in  开启, out  关闭

    时间:启动或者关闭的时间点

    现在的要求是输入一个开始时间 和一个结束时间 求每台设备(同一车间的同一设备)的在此范围内的工作时间。

    异常数据处理:

    1.重复数据需要去重

    2.同一台设备连续的in 需要取最后一个 

    3.连续的out需要取第一个

    4.如果一个时间段的开始时间小于输入的开始时间,则按照输入开始时间计算

    5.如果一个时间段的结束时间大于输入的结束时间,则按照输入结束时间计算

    上面的表输入

android如何实现固定时间段内的工作时间求和

最终得到的结果是

android如何实现固定时间段内的工作时间求和

大家可以试试~

    数据在下方:

CREATE TABLE "SYSTEM"."AAREPORT" (  "ID" VARCHAR2(255 BYTE) ,  "ACTIVITY" VARCHAR2(255 BYTE) ,  "TXNTIMESTAMP" DATE ,  "GID" VARCHAR2(255 BYTE) )TABLESPACE "SYSTEM"LOGGINGNOCOMPRESSPCTFREE 10INITRANS 1STORAGE (  INITIAL 65536   NEXT 1048576   MINEXTENTS 1  MAXEXTENTS 2147483645  FREELISTS 1  FREELIST GROUPS 1  BUFFER_POOL DEFAULT)PARALLEL 1NOCACHEDISABLE ROW MOVEMENT;

-- ------------------------------ Records of AAREPORT-- ----------------------------INSERT INTO "SYSTEM"."AAREPORT" VALUES ('1', 'in', TO_DATE('2020-07-15 08:00:00', 'SYYYY-MM-DD HH24:MI:SS'), 'a');INSERT INTO "SYSTEM"."AAREPORT" VALUES ('1', 'out', TO_DATE('2020-07-16 03:00:00', 'SYYYY-MM-DD HH24:MI:SS'), 'a');INSERT INTO "SYSTEM"."AAREPORT" VALUES ('2', 'in', TO_DATE('2020-07-15 08:00:00', 'SYYYY-MM-DD HH24:MI:SS'), 'b');INSERT INTO "SYSTEM"."AAREPORT" VALUES ('3', 'in', TO_DATE('2020-07-15 10:00:00', 'SYYYY-MM-DD HH24:MI:SS'), 'a');INSERT INTO "SYSTEM"."AAREPORT" VALUES ('3', 'out', TO_DATE('2020-07-16 02:00:00', 'SYYYY-MM-DD HH24:MI:SS'), 'a');INSERT INTO "SYSTEM"."AAREPORT" VALUES ('3', 'in', TO_DATE('2020-07-16 10:00:00', 'SYYYY-MM-DD HH24:MI:SS'), 'a');INSERT INTO "SYSTEM"."AAREPORT" VALUES ('4', 'in', TO_DATE('2020-07-16 01:00:00', 'SYYYY-MM-DD HH24:MI:SS'), 'a');INSERT INTO "SYSTEM"."AAREPORT" VALUES ('4', 'out', TO_DATE('2020-07-16 02:00:00', 'SYYYY-MM-DD HH24:MI:SS'), 'a');INSERT INTO "SYSTEM"."AAREPORT" VALUES ('4', 'in', TO_DATE('2020-07-16 09:00:00', 'SYYYY-MM-DD HH24:MI:SS'), 'a');INSERT INTO "SYSTEM"."AAREPORT" VALUES ('4', 'out', TO_DATE('2020-07-17 21:00:00', 'SYYYY-MM-DD HH24:MI:SS'), 'a');INSERT INTO "SYSTEM"."AAREPORT" VALUES ('1', 'in', TO_DATE('2020-07-15 07:00:00', 'SYYYY-MM-DD HH24:MI:SS'), 'b');INSERT INTO "SYSTEM"."AAREPORT" VALUES ('1', 'out', TO_DATE('2020-07-16 04:00:00', 'SYYYY-MM-DD HH24:MI:SS'), 'b');INSERT INTO "SYSTEM"."AAREPORT" VALUES ('3', 'in', TO_DATE('2020-07-18 12:00:00', 'SYYYY-MM-DD HH24:MI:SS'), 'b');INSERT INTO "SYSTEM"."AAREPORT" VALUES ('3', 'in', TO_DATE('2020-07-17 08:00:00', 'SYYYY-MM-DD HH24:MI:SS'), 'b');INSERT INTO "SYSTEM"."AAREPORT" VALUES ('3', 'out', TO_DATE('2020-07-17 18:00:00', 'SYYYY-MM-DD HH24:MI:SS'), 'b');

以上是“android如何实现固定时间段内的工作时间求和”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!

推荐阅读:
  1. sed 截取指定时间段内的慢查询日志
  2. 分析时间段内对表的操作次数

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

android

上一篇:python练习题有哪些

下一篇:如何用python获取杭州天气

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》