Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
单个SQL Server查询以按小时、每天、每周、每月和每年获取总分_Sql_Period - Fatal编程技术网

单个SQL Server查询以按小时、每天、每周、每月和每年获取总分

单个SQL Server查询以按小时、每天、每周、每月和每年获取总分,sql,period,Sql,Period,我有以下要求: 单个SQL Server查询以按小时、每日、每周、每月和年度数据获取总分 结果应该是这样的: thisperiodtotalscore previousperiodtotalscore sumtotalscore periodType 符合以下标准: 如果分数来自表格数据,则必须对不同团队的不同成员的总分进行汇总 其中时段可以是小时、日、周、月、年,小时由工作小时定义确定,可以是任意数量的选定小时(例如:第一个工作小时、第二个工作小时等) 每周由工作日定义确定,可以是星期

我有以下要求:

单个SQL Server查询以按小时、每日、每周、每月和年度数据获取总分

结果应该是这样的:

thisperiodtotalscore  previousperiodtotalscore  sumtotalscore periodType
符合以下标准:

  • 如果分数来自表格数据,则必须对不同团队的不同成员的总分进行汇总
  • 其中时段可以是小时、日、周、月、年,小时由工作小时定义确定,可以是任意数量的选定小时(例如:第一个工作小时、第二个工作小时等)
  • 每周由工作日定义确定,可以是星期三到星期三,…)
  • 每月和每年都是如此
如果时段数据为空,比如说如果是假日/休假,则不应在计数中跳过该特定时段

注:

thisperiodtotalscore
(对于用户日期输入,此时段的总分可以是任何时段(每小时、每天、每周、每月、每年)-表示用户输入的相应周分,用户日期输入的相应月分。。同样地

previousperiodtotalscore
(用户日期输入的任何时段(每小时、每天、每周、每月、每年)的上一时段总分)-例如用户日期输入的上一周得分,用户日期输入的上一个月得分,。。同样地

sumtotalscore
-本期TotalScore和上一期TotalScore

periodType
-每小时、每天、每周、每月、每年,基于时段请求类型

并符合以下标准:

  • 如果分数来自表格数据,
    totalscore
    必须针对不同团队的不同成员进行汇总
  • 其中周期可以是每小时、每天、每周、每月和每年 小时数由工作小时定义确定,可以是任意数量的选定小时数(例如:第一个工作小时、第二个工作小时,等等)
  • 每周由工作日定义确定,可以是星期三到星期三,…)
  • 每月和每年都是如此
如果时段数据为空,比如说如果是假日/休假,则不应在计数中跳过该特定时段

这是要求,如果在此类场景中遗漏,也欢迎其他可能的情况

提前感谢,,
GravityPush

对于start,请查看AdventureWorksDW示例中的DimDate。您可以在数据库中有一个类似的表,并编写一些连接查询。我建议使用按DimDate的不同列动态分组的查询