Friday, March 27, 2015

Assigning avg to columns and grouping that info by date


CREATE TABLE #TEST1
( ACCT INT NOT NULL
,D_TIME DATE NULL
,TOKEN INT NULL
)
INSERT INTO #TEST1 VALUES (1,'01/01/2015', 5)
INSERT INTO #TEST1 VALUES (1,'02/15/2015', 6)
INSERT INTO #TEST1 VALUES (2,'02/18/2015', 4)
INSERT INTO #TEST1 VALUES (3,'01/11/2015', 3)
INSERT INTO #TEST1 VALUES (2,'03/30/2015', 1)
INSERT INTO #TEST1 VALUES (3,'03/01/2015', 4)
INSERT INTO #TEST1 VALUES (4,'03/01/2015', 1)
INSERT INTO #TEST1 VALUES (5,'02/21/2015', 3)
INSERT INTO #TEST1 VALUES (6,'02/28/2015', 2)
--DROP TABLE #TEST1
DECLARE @CNT INT, @MNTH DATE, @AVG_TK FLOAT, @Start_DT DATE, @End_DT DATE
SET @Start_DT = '01/01/2015'
SET @End_DT = '03/23/2015'
SELECT
@CNT = COUNT(ACCT),
@MNTH = DATEADD(m,DATEDIFF(m,0,D_TIME),0),
@AVG_TK = CONVERT(DECIMAL(10,2),(AVG(CONVERT(DECIMAL(10,2), NULLIF(TOKEN,0)))))
FROM #TEST1
WHERE (D_TIME BETWEEN @Start_DT AND @End_DT)
AND D_TIME is not null
GROUP BY DATEADD(m,DATEDIFF(m,0,D_TIME),0)
ORDER BY DATEADD(m,DATEDIFF(m,0,D_TIME),0) DESC
SELECT @CNT As Rec_COUNT, @MNTH as MNTH, @AVG_TK AS MNTH_AVG_TOKEN





OJMP


No comments:

Post a Comment