0

我非常感谢帮助实现正确的输出,我想了解它是如何工作的和自学的。

我有一张桌子:

任务表

我想从一个查询中获得以下结果:

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

回复:表“任务”:

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

回复:查询:

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

谢谢你的时间

编辑:

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

Q1:

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

Q2:

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]
;

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

4

1 回答 1

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
于 2018-06-27T10:36:06.710 回答