Jet SQL/MS 访问 - 查询、任务计数、时间总和,按用户
Jet SQL/MS Access - Query, count of tasks, sum of time, by user
我非常感谢帮助实现正确的输出,我想了解它是如何工作的并自学。
我有一个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
回复:table 'tasks':
时间字段为date/timehh:nn。
日期字段与现阶段的查询无关 - 我希望返回所有历史数据。
回复:查询:
我想查看任务计数、时间总和和分组 user_name & 任务,使用一个带有子 select 的查询,而不是两个单独的查询。
感谢您的宝贵时间
编辑:
我可以创建此输出,但我使用两个查询 (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] & Format([time_mins] Mod 60,"\:00") AS Time_sum
FROM [301 SF count of task]
;
我希望能够在一次查询中完成此操作,如有任何建议,我们将不胜感激。
试试:
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
我非常感谢帮助实现正确的输出,我想了解它是如何工作的并自学。
我有一个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
回复:table 'tasks':
时间字段为date/timehh:nn。 日期字段与现阶段的查询无关 - 我希望返回所有历史数据。
回复:查询:
我想查看任务计数、时间总和和分组 user_name & 任务,使用一个带有子 select 的查询,而不是两个单独的查询。
感谢您的宝贵时间
编辑:
我可以创建此输出,但我使用两个查询 (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] & Format([time_mins] Mod 60,"\:00") AS Time_sum
FROM [301 SF count of task]
;
我希望能够在一次查询中完成此操作,如有任何建议,我们将不胜感激。
试试:
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