gpt4 book ai didi

sql - 使用新列中的前一行值计算每日增长 - SQL Server

转载 作者:行者123 更新时间:2023-12-04 20:30:19 27 4
gpt4 key购买 nike

下面的查询显示了数据库的大小以及收集这些数据的时间。我正在尝试创建一个具有“平均每日增长”的新列,这将由前一天的大小决定。

如果我的查询从多个数据库/实例捕获数据,我该如何为每个数据库执行此操作?如此处所示 photo

我正在尝试使用“DB Size mb”列计算每个数据库的每日增长,并且想要一个名为“LastDayGrowth”的新列

这是我的查询:

SELECT DISTINCT
c.instance_name ,
a.database_name ,
CONVERT (DATE, SWITCHOFFSET(CAST (a.collection_time AS DATETIMEOFFSET),
'+00:00')) AS 'Collection Time' ,
'LDF mb' = ( CONVERT(DEC(15, 2), a.logsize) * 8192 / 1048576.0 ) ,
'MDF mb' = ( CONVERT(DEC(15, 2), a.dbsize) * 8192 / 1048576.0 ) ,
( ( CONVERT(DEC(15, 2), a.dbsize) + CONVERT(DEC(15, 2), a.logsize) )
* 8192 / 1048576.0 ) AS 'DB Size mb' ,
'Reserved mb' = ( a.reservedpages * 8192 / 1048576.0 ) ,
'Data mb' = CONVERT(DEC(15, 2), a.pages) * 8192 / 1048576.0 ,
'Index mb' = ( a.usedpages - a.pages ) * 8192 / 1048576.0 ,
'Unused mb' = ( ( CONVERT(DEC(15, 2), a.reservedpages)
- CONVERT(DEC(15, 2), a.usedpages) ) * 8192
/ 1048576.0 ) ,
'Unallocated mb' = ( CASE WHEN a.dbsize >= a.reservedpages
THEN ( CONVERT (DEC(15, 2), a.dbsize)
- CONVERT (DEC(15, 2), a.reservedpages) )
* 8192 / 1048576.0
ELSE 0
END )
FROM MDWDB.snapshots.disk_usage a
INNER JOIN MDWDB.core.snapshots_internal b ON a.snapshot_id = b.snapshot_id
INNER JOIN MDWDB.core.source_info_internal c ON b.source_id = c.source_id
ORDER BY c.instance_name ,
a.database_name ASC;

我尝试过使用“LAG”功能,但没有成功。我这样试过:

LastDayGrowth = DATEDIFF(DAY,
LAG(( CONVERT(DEC(15, 2), a.dbsize)
+ CONVERT(DEC(15, 2), a.logsize) )
* 8192 / 1048576.0, 1, NULL) OVER ( ORDER BY a.database_name, ( ( CONVERT(DEC(15,
2), a.dbsize)
+ CONVERT(DEC(15,
2), a.logsize) )
* 8192
/ 1048576.0 ) ),
( ( CONVERT(DEC(15, 2), a.dbsize)
+ CONVERT(DEC(15, 2), a.logsize) ) * 8192
/ 1048576.0 ))

如有任何提示或建议,我们将不胜感激!

最佳答案

这里是如何使用 LAG()

'DB Size mb' - 
LAG('DB Size mb') OVER (PARTITION BY c.instance_name, a.database_name ORDER BY a.Collection_time ASC) as DB_SIZE_CHANGE

关于sql - 使用新列中的前一行值计算每日增长 - SQL Server,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32233112/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com