有3张表TaskTypes (TaskTypeID,TaskTypeName) -任务类型表Tasks (TaskID,TaskTypeID,TaskName)-任务表TaskRecords(TaskRecordID,TaskID,DateTime,Time,UserName)-任务内容记录表,记录每项内容每天的耗时,Time字段为耗时需求:一句sql语句查询从5月1日到5月30日,某个用户的TaskTypeName,TaskName,每项TaskName的总耗时,以及每项TaskName的总耗时占该用户所有任务总耗时的百分比。按如下SQL写,发现不指定用户时,查出来每个用户5月份的所有任务总耗时不对,变成了所有用户5月份的总耗时,该如何修改?WITH TaskDuration AS ( SELECT t.TaskTypeID, t.TaskName, SUM(tr.Time) AS TotalTime FROM Tasks t INNER JOIN TaskRecords tr ON t.TaskID = tr.TaskID WHERE tr.UserName = '指定的用户名' -- 替换为您的用户名 AND tr.DateTime BETWEEN '2023-05-01' AND '2023-05-30' GROUP BY t.TaskTypeID, t.TaskName ), TotalDuration AS ( SELECT SUM(TotalTime) AS GrandTotalTime FROM TaskDuration ) SELECT td.TaskTypeID, tt.TaskTypeName, td.TaskName, td.TotalTime, td.TotalTime * 100.0 / td2.GrandTotalTime AS Percentage FROM TaskDuration td INNER JOIN TaskTypes tt ON td.TaskTypeID = tt.TaskTypeID CROSS JOIN TotalDuration td2;