计算不同值的平均值

时间:2021-02-25 17:52:26

标签: sql-server

我有以下格式的日期:

enter image description here

现在,我想显示每个帐号的最新发布日期,其对应的金额,包括最新日期在内的所有以前日期的平均金额,但黑客是我需要根据 ShareID 显示最新的发布日期。

我需要最小 ShareID 的数量,在取平均值时,我必须省略最大(后日期)的重复数量/同一日期。

我需要以下格式的数据:

enter image description here

1 个答案:

答案 0 :(得分:0)

你可以试试:

WITH
T1 AS
(
SELECT AccountNo, FundNo, MAX(PostDate) AS LastPostDate
FROM   MyTable
GROUP  BY AccountNo, FundNo,
),
T2 AS
(
SELECT DISTINCT AccountNo, FundNo, Amount
FROM   MyTable
)
SELECT T1.AccountNo, T1.FundNo, T1.LastPostDate, T.PostDate, AVG(T2.Amount)
FROM   T1
       JOIN T2 ON T1.AccountNo  = T2.AccountNo
       JOIN MyTable AS T ON T.AccountNo = T1.AccountNo AND T.PostDate,  = T1.LastPostDate  

请在 INSERT SQL 语句下发布您的表的 DDL 和示例,以帮助我们给出正确的解决方案。