我正在嘗試根據所述列中的最后一個 ID 向列提供 ID 號。
編輯:我知道有更好的方法。我們無法更改此表以使用正確排序的列,因此我們必須在查詢中提供數字。
例如,我可以使用此查詢來獲取我的最后一個 ID:
SELECT MAX(ID)
FROM TABLE
結果:
16684
如果我在查詢中使用 1,那么我會得到下一個 ID 的起始編號:
SELECT MAX(ID) 1
FROM TABLE
結果:
16685
我需要能夠將其添加到 INSERT INT0/SELECT 陳述句中,因此我從結果數字開始并繼續提供的每行計數。
例如:
-- I know this doesn't work I do not know what would here.
Select ID (16685), * FROM QUERY RESULTS
導致類似:
16685, Data, Data, Data
16686, Data, Data, Data
16687, Data, Data, Data
16688, Data, Data, Data
16689, Data, Data, Data
...
我不確定如何提供這個值。
有問題的列是一個 SUDO ID 列,它沒有正確設定為自行遞增,因此我們必須自己提供數字。
請注意,每天只有一次插入,我們并不擔心同時發生并發插入。
uj5u.com熱心網友回復:
鑒于您的下一個 ID 已經確定,例如select @MaxId = max(Id) from <table>您可以使用row_number. 為了安全起見,我建議至少在可序列化的事務中使用它。
Select row_number() over(order by <ordering criteria>) @MaxId, *...
FROM QUERY RESULTS
uj5u.com熱心網友回復:
DECLARE @MaxId INT
SELECT @MaxId = MAX(Id)
FROM MyTable
-- in order by you can set every you want
SELECT @MaxId ROW_NUMBER() OVER(ORDER BY (SELECT 0)) AS LastId
FROM MyTable
/*
I think it is what you want
*/
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/486968.html
上一篇:獲取過去7天、20天和YTD計數
