我正在开发一个存储过程,需要跟踪每天运行的报告。如果报告已多次运行,我需要一个每次运行报告时递增的列。我不确定如何使它跟踪ReportID或ReportName而不明确命名每个报告以跟踪。使用SQL Server 2012,让我们调用表ProcessMaster。
Time ReportID ReportName (Increment Column)
---- -------- ---------- ------------------
7:00 2145 Job1 1
7:30 2145 Job1 2
7:30 2146 Another 1
8:00 2145 Job1 3
8:30 2146 Another 2
答案 0 :(得分:3)
通过动态生成排名,可以选择不使用该列:
SELECT *,
ROW_NUMBER() OVER (PARTITION BY ReportId ORDER BY Time) as IncrementColumn
FROM ProcessMaster
如果您希望存储该字段,您可以选择: