Jet SQL / MS Access-按用户查询,任务计数,时间总和

时间:2018-06-27 10:21:45

标签: ms-access ms-access-2016 jet-sql

我非常感谢帮助您获得正确的输出,我想了解它的工作原理并自学。

我有一张桌子:

tasks table

我想通过一个查询获得以下结果:

user_name  |   task   |   CountOftask  |   SumOftime
    U1           1            1              00:15
    U2           1            1              00:25
    U2           2            1              00:05
    U3           2            1              00:20
    U3           3            2              00:40

re:“任务”表:

时间字段是日期/时间hh:nn。 在此阶段,日期字段与查询无关-我希望返回所有历史数据。

re:查询:

我想使用一个带有子选择的查询而不是两个单独的查询来查看任务计数,时间总和以及按用户名和任务分组。

感谢您的时间

编辑:

我可以创建此输出,但是我使用两个查询(Q1)将时间转换为整数并求和。 (Q2)使用Q1将整数转换回时间hh:mm。

第一季度:

SELECT 
user_name
, task
, Count(task) AS CountOftask
, Sum(CLng(24*60*CDate([time]))) AS time_mins
FROM tasks
GROUP BY user_name, task;

第二季度:

SELECT 
[301 SF count of task].user_name
, [301 SF count of task].task
, [301 SF count of task].CountOftask
, [time_mins]\60 & Format([time_mins] Mod 60,"\:00") AS Time_sum
FROM [301 SF count of task]
;

我希望能够在一个查询中做到这一点,任何建议都值得赞赏。

1 个答案:

答案 0 :(得分:0)

尝试:

Select
    user_name,
    Max(task) As max_task,
    Count(*) As task_count,
    CDate(Sum([time])) As total_time
From
    YourTable
Group By    
    user_name,
    task

编辑-如果时间是文本:

    Sum(CDate([time])) As total_time

或强制日期值:

    CDate(Sum(CDate([time]))) As total_time