MS Access:汇总时间大于24小时的查询再次从1重新开始 [英] MS Access: Summing time greater than 24 hours in query restarts from 1 again

查看:95
本文介绍了MS Access:汇总时间大于24小时的查询再次从1重新开始的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在MS Access程序中有一个表trans_hist,其中时间以短日期格式"HH:MM"存储,例如:

I have a table trans_hist in MS Access program where time is stored in short Date format "HH:MM" ex:

[![Image] [1]] [1]

[![Image][1]][1]

现在我创建了一个查询,该查询可以告诉每个用户的总时间(只需简单地将时间加起来),但是如果总时间超过24小时,它将重置并从00:15重新开始(所有时间都存储在15分钟内间隔)

Now I have created a query which tells total time for each user (Just simply summing the time) but if the total time exceeds 24 hours then it resets and starts over again from 00:15(all time are stored in 15 minutes intervals)

问题:对于Customer(UID)1,总时间应该为32:30,但显示为8:30

当前结果:

UID Time_Elapsed
1   5:00
1   8:30
1   9:00
1   6:00
2   2:15
2   2:00
3   1:15
5   4:00
1   4:00

结果:

[![Image] [2]] [2]

[![Image][2]][2]

  • 数据

客户UID转换日期代理名称Prog_Name Prime_Serv Prime_Serv_Time 10014 2015年12月13日LAC RA BMC 01:00 10021 2015年12月14日LAC RA AP 01:00 10022 15年12月15日LAC RA AP 01:00 10021 15年12月16日LAC RA SM 00:45 10020 2015年12月17日LAC RA AP 01:00 10027 15-Dec-15 LAC RA DA 00:15 10028 15-Dec-15 LAC RA DA 00:15 10026 15-Dec-15 LAC RA DA 00:15 10029 15-Dec-15 LAC RA DA 00:15 10030 15-Dec-15 LAC RA DA 00:15 10031 15-Dec-15 LAC RA DA 00:15 10023 2015年12月19日LAC RA临床02:00 10023 2015年12月20日LAC RA临床01:30 10023 2015年12月20日LAC RA临床02:00 10020 2015年12月21日LAC RA SM 00:15 10023 2015年12月21日LAC RA SM 00:30 10022 2015年12月22日LAC RA临床00:30 10022 15年12月22日LAC RA IB 00:30 10021 15年12月22日LAC RA IB 00:30 10009 15年12月22日LAC RA IB 00:30 10019 2015年12月23日LAC RA STM 00:45 10009 2015年12月23日LAC RA工作人员-在00:30 10021 2015年12月23日LAC RA工作人员-在00:30 10022 2015年12月23日LAC RA工作人员-在00:30 10024 2015年12月23日LAC RA工作人员-在00:30 10033 2015年12月23日LAC RA工作人员-在00:30 10025 2015年12月23日LAC RA临床00:45 10035 15-Dec-15 LAC OA CA 05:00 10040 15年12月28日LAC OA CA 05:00 10039 2015年12月28日LAC OA CA 05:00 10038 2015年12月28日LAC OA CA 05:00 10042 15年12月28日LAC OA CA 05:00 10036 15年12月28日LAC OA CA 05:00 10037 15-Dec-15 LAC OA CA 05:00 10006 15年12月30日LAC测试1 DA 01:45 10005 15年12月30日LAC测试2 DG 01:45 10015 2015年12月30日LAC测试2 IB 02:15 10015 2015年12月30日LAC测试4 DG 03:15 10019 2015年12月30日LAC OA CA 15:30 10005 15年12月31日LAC OA CA 12:00

Cust_UID Trans_Date Agen_Name Prog_Name Prime_Serv Prime_Serv_Time 10014 13-Dec-15 LAC RA BMC 01:00 10021 14-Dec-15 LAC RA AP 01:00 10022 15-Dec-15 LAC RA AP 01:00 10021 16-Dec-15 LAC RA SM 00:45 10020 17-Dec-15 LAC RA AP 01:00 10027 18-Dec-15 LAC RA DA 00:15 10028 18-Dec-15 LAC RA DA 00:15 10026 18-Dec-15 LAC RA DA 00:15 10029 18-Dec-15 LAC RA DA 00:15 10030 18-Dec-15 LAC RA DA 00:15 10031 18-Dec-15 LAC RA DA 00:15 10023 19-Dec-15 LAC RA Clinical 02:00 10023 20-Dec-15 LAC RA Clinical 01:30 10023 20-Dec-15 LAC RA Clinical 02:00 10020 21-Dec-15 LAC RA SM 00:15 10023 21-Dec-15 LAC RA SM 00:30 10022 22-Dec-15 LAC RA Clinical 00:30 10022 22-Dec-15 LAC RA IB 00:30 10021 22-Dec-15 LAC RA IB 00:30 10009 22-Dec-15 LAC RA IB 00:30 10019 23-Dec-15 LAC RA STM 00:45 10009 23-Dec-15 LAC RA Staff - In 00:30 10021 23-Dec-15 LAC RA Staff - In 00:30 10022 23-Dec-15 LAC RA Staff - In 00:30 10024 23-Dec-15 LAC RA Staff - In 00:30 10033 23-Dec-15 LAC RA Staff - In 00:30 10025 23-Dec-15 LAC RA Clinical 00:45 10035 28-Dec-15 LAC OA CA 05:00 10040 28-Dec-15 LAC OA CA 05:00 10039 28-Dec-15 LAC OA CA 05:00 10038 28-Dec-15 LAC OA CA 05:00 10042 28-Dec-15 LAC OA CA 05:00 10036 28-Dec-15 LAC OA CA 05:00 10037 28-Dec-15 LAC OA CA 05:00 10006 30-Dec-15 LAC Test 1 DA 01:45 10005 30-Dec-15 LAC Test 2 DG 01:45 10015 30-Dec-15 LAC Test 2 IB 02:15 10015 30-Dec-15 LAC Test 4 DG 03:15 10019 30-Dec-15 LAC OA CA 15:30 10005 31-Dec-15 LAC OA CA 12:00

[数据] [3]

结果

Prog_Name Prime_Serv Total_Serv_Time OA CA 62:30 亚太地区3:0 RA BMC 1:0 RA临床7:45 RA DA 2:30 RA IB 2:30 RA工作人员-在2:30中 RA SM 2:30 RA STM 1:45 测试1 DA 2:45 测试2 DG 2:45 测试2 IB 2:15 测试4 DG 3:15

Prog_Name Prime_Serv Total_Serv_Time OA CA 62:30 RA AP 3:0 RA BMC 1:0 RA Clinical 7:45 RA DA 2:30 RA IB 2:30 RA Staff - In 2:30 RA SM 2:30 RA STM 1:45 Test 1 DA 2:45 Test 2 DG 2:45 Test 2 IB 2:15 Test 4 DG 3:15

[结果] [4]

推荐答案

我希望此SQL查询有帮助:

I hope, this SQL query helps:

SELECT T.UID,
       CSTR(total_hours 
                + INT(total_min / 60)) 
                + ":" 
                + CSTR(total_min Mod 60) as result
FROM
    (SELECT UID,
            SUM(HOUR(TH.time_elapsed)) AS total_hours,
            SUM(MINUTE(TH.time_elapsed)) AS total_min
    FROM trans_hist AS TH
    GROUP BY UID) AS T

这篇关于MS Access:汇总时间大于24小时的查询再次从1重新开始的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆