每次存储过程作为输出表中的列运行时,如何启动计数?

问题描述 投票:0回答:1

我有一个存储过程,可以对特定数据集运行一些统计信息。该存储过程可能在一天内运行多次。我需要一种方法来根据我的 RunDate 列来计算执行次数。

其中一列将 Rundate 作为 GetDate() 默认值,而 Execution 列将说明该日期的执行次数。

示例:

RunDate     Execution
---------------------
9/12/2023   1
9/12/2023   1
9/12/2023   1
9/12/2023   1
9/12/2023   2
9/12/2023   2
9/12/2023   2
9/12/2023   2
9/13/2023   1
9/13/2023   1
9/13/2023   1
9/13/2023   1
9/14/2023   1
9/14/2023   1
9/14/2023   1
9/14/2023   1
9/14/2023   2
9/14/2023   2
9/14/2023   2
9/14/2023   2
9/14/2023   3
9/14/2023   3
9/14/2023   3
9/14/2023   3

我不确定 countif 是否可以解决问题,因为每天的运行次数会完全不同。我也不希望它计算每一行。只需按 max(RunDate) 进行分组并据此进行计数即可。

sql counter
1个回答
0
投票

您可以根据最新的数据来统计运行次数,并使用计数器按最新的数据对数据进行分组,如下所示:

SELECT 
    MAX(RunDate) AS Most_Recent_Date,
    Execution,
    COUNT(*) AS NumberOfExecutions
FROM YourTable
GROUP BY Execution, MAX(RunDate)

用你的桌子替换 YourTable 并尝试这个

© www.soinside.com 2019 - 2024. All rights reserved.