這很難解釋,所以我舉個例子。我需要 SQL(ms 服務器),我假設它的 row_number 超過磁區但不能讓它作業。
我有這張桌子:
| ID | 上一個ID | 資料 |
|---|---|---|
| 1 | 一種 | |
| 2 | 1 | b |
| 3 | 2 | C |
| 4 | d | |
| 5 | 4 | e |
| 6 | F |
我想要這些結果:
| ID | 新身份證 | 資料 |
|---|---|---|
| 1 | 1 | 一種 |
| 2 | 1 | b |
| 3 | 1 | C |
| 4 | 2 | d |
| 5 | 2 | e |
| 6 | 3 | F |
另一個只有每個序列的新 ID:
| 新身份證 | 資料 |
|---|---|
| 1 | 一種 |
| 2 | d |
| 3 | F |
除了行號新 id,它還可以具有序列的第一個 id,只要它識別序列就更容易了。
uj5u.com熱心網友回復:
似乎您想要一個視窗化COUNT的行,其中的PreviousID值為NULL。
SELECT ID,
COUNT(CASE WHEN PreviousID IS NULL THEN 1 END) OVER (ORDER BY ID) AS NewID,
Data
FROM dbo.YourTable;
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/478960.html
下一篇:使用SQL從字串中提取ID
