相关疑难解决方法(0)

使用with vs声明一个临时表:性能/差异?

我在SQLServer 2008中创建了一个sql函数,它声明了一个临时表,并使用它来计算内部值的移动平均值

declare @tempTable table 
    (
        GeogType nvarchar(5),
        GeogValue nvarchar(7),
        dtAdmission date,
        timeInterval int,
        fromTime nvarchar(5),
        toTime nvarchar(5),
        EDSyndromeID tinyint,
        nVisits int
    )
insert @tempTable select * from aces.dbo.fEDVisitCounts(@geogType, @hospID,DATEADD(DD,-@windowDays + 1,@fromDate),
                @toDate,@minAge,@maxAge,@gender,@nIntervalsPerDay, @nSyndromeID)


    INSERT @table (dtAdmission,EDSyndromeID, MovingAvg) 
    SELECT list.dtadmission
        , @nSyndromeID
        , AVG(data.nVisits) as MovingAvg
    from @tempTable as list 
        inner join @tempTable as data  
    ON list.dtAdmission between data.dtAdmission and DATEADD(DD,@windowDays - 1,data.dtAdmission) 
    where list.dtAdmission >= @fromDate
    GROUP BY list.dtAdmission
Run Code Online (Sandbox Code Playgroud)

但我也发现你可以像这样声明tempTable:

with tempTable as 
(
    select * from …
Run Code Online (Sandbox Code Playgroud)

sql t-sql performance sql-server-2008

16
推荐指数
2
解决办法
8万
查看次数

如何使用MySQL计算移动平均线?

我需要做类似的事情:

SELECT value_column1 
FROM table1 
WHERE datetime_column1 >= '2009-01-01 00:00:00' 
ORDER BY datetime_column1;
Run Code Online (Sandbox Code Playgroud)

除此之外value_column1,我还需要检索前20个值的移动平均值value_column1.

标准SQL是首选,但如果需要,我将使用MySQL扩展.

mysql sql statistics

5
推荐指数
1
解决办法
2万
查看次数

标签 统计

sql ×2

mysql ×1

performance ×1

sql-server-2008 ×1

statistics ×1

t-sql ×1