2011-06-05 228 views
0

我有以下要求:單個SQL Server查詢由每小時獲得的總比分,每天,每週,每月和每年的

單個SQL Server查詢獲得通過每小時,每天,每週,每月的總比分和年度數據。

這是結果應該如何:

thisperiodtotalscore previousperiodtotalscore sumtotalscore periodType 

其中符合下列條件:

  • 其中得分來自表中的數據,totalscore必須被總結了的不同成員不同的團隊,
  • 其中可以是小時,每天,每週,每月,每年和每小時的時間由工作小時定義確定,例如可以是任意數量的選定小時(例如:第一工作小時,第二工作小時,等..)
  • 和每週的工作日定義確定,說這可能是週三到週三,..)
  • 且同樣monthy和年度

如果期間有空數據,假設是假期/假期,那麼不應該跳過這個特定時期。

注:

thisperiodtotalscore(這一時期總得分可以是任何時間段(每小時,每天,每週,每月,每年的)用戶數據輸入的) - 比如說對應星期的分數用戶輸入的,用戶日期輸入的相應月份得分,...同樣

previousperiodtotalscore(上一期總分可以是用於用戶日期輸入的任何期間(小時,每天,每週,每月,每年)) - 說前一個星期的用戶日期輸入分數,上一個月的用戶日期輸入分數,..同樣

sumtotalscore - 總的thisperiodtotalscorepreviousperiodtotalscore

periodType - 每小時,每天,每週,每月,每年,基於週期請求類型

,並符合下列條件:

  • 其中得分來自表格數據,totalscore必須歸納爲不同團隊的不同成員,
  • 其中時段可以是小時,每日,每週,每月和每年 每小時由工作小時定義決定,可以是任意數量的選定小時數(例如:第一個工作小時,第二個工作小時等等)
  • 並且每週根據工作日定義確定,可週三到週三,..)
  • ,同樣爲每月和每年的

如果期間有空的數據,說,如果是假日/離開那個特定時期不應該在數被跳過。

這是要求,也歡迎其他可能的情況下,如果在這種情況下錯過了。

由於提前, GravityPush

回答

0

對於啓動,採取AdventureWorksDW示例中看看DimDate。你可以在你的數據庫中有一個類似的表並寫一些連接查詢。我建議使用由DimDate的不同列動態分組的查詢。