Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/77.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_Sql Server - Fatal编程技术网

返回sql server中过去八周的平均存款和取款

返回sql server中过去八周的平均存款和取款,sql,sql-server,Sql,Sql Server,我想写一个简单的查询,返回MyTable中的平均存款和赌注,但从今天开始的最后八周,并以dd/mm格式选择该周的第一天 SELECT [PlayerId], SUM(Aggr.DepositAmount) [Deposits], SUM(Aggr.DepositCount)

我想写一个简单的查询,返回MyTable中的平均存款和赌注,但从今天开始的最后八周,并以dd/mm格式选择该周的第一天

     SELECT 
             [PlayerId],
             SUM(Aggr.DepositAmount)                                                    [Deposits],
             SUM(Aggr.DepositCount)                                                     [DepositCount],
             SUM(Aggr.WithdrawalAmount)                                                 [Withdrawals],                      
             SUM(Aggr.WithdrawalCount)                                                  [WithdrawalCount]
      FROM [WarehouseMgmt].[FactPaymentAgr] Aggr
      WHERE (TimeId BETWEEN @CurrentWeek AND @CurrentWeek7)
      GROUP BY [PlayerId]
然后我会计算平均存款和取款

所以最终的结果我想成为这样的人


周,周格式为dd/mm,PlayerId,average depos,average depos,average decus

我已经更新了我的查询,以符合您上次的要求

DECLARE @first_date DATETIME

SET @first_date = DATEADD(ww, -8, GETDATE())

SELECT T.week_number,
            T.date_formatted,
            T.playerID,
            AVG(DepositAmount) AS avg_deposit,
            AVG(WithdrawalAmount) AS avg_withdrawal
    FROM
        (SELECT 
                DATEPART(ww, timeID) AS week_number,
                SUBSTRING(CONVERT(VARCHAR, timeID, 103), 1, 5) AS date_formatted,
                PlayerID,
                DepositAmount,
                WithdrawalAmount)
        FROM [WarehouseMgmt].[FactPaymentAgr] Aggr
        WHERE TimeId >= @first_date) AS T
    GROUP BY week_number,
             date_formatted,
             playerID

那么到底是什么问题呢?简单地用AVG()替换SUM()。参见编辑后的问题。我现在不确定语法,但这种方法是准确和优秀的