我有這樣的一個表:MS SQL 2012:發現號序列
WITH S AS (
SELECT 'B' type, 1 number
UNION SELECT 'B', 2
UNION SELECT 'B', 3
UNION SELECT 'B', 4
UNION SELECT 'B', 5
UNION SELECT 'A', 6
UNION SELECT 'A', 7
UNION SELECT 'B', 8
UNION SELECT 'B', 9
UNION SELECT 'B', 10
UNION SELECT 'C', 11
UNION SELECT 'A', 12
UNION SELECT 'B', 13
UNION SELECT 'B', 14
UNION SELECT 'B', 15
UNION SELECT 'B', 16
UNION SELECT 'B', 17
UNION SELECT 'A', 18
UNION SELECT 'C', 19
UNION SELECT 'B', 20
UNION SELECT 'B', 21
)
我怎樣才能得到它進來每種類型的行(比如,3個或更多)的數字鮮明序列? 例如對於B 1〜5,會有'B1',B 8〜10 - 'B2'等等。我懷疑應該有像LEAD/LAG
和DENSE_RANK()
的組合,但不知道如何申請。數字是唯一的,如果這很重要。
結果應該是這樣的:
Type Number Sequence
-----------------------
B 1 B1
B 2 B1
B 3 B1
B 4 B1
B 5 B1
A 6 NULL
......................
B 8 B2
B 9 B2
B 10 B2
C 11 NULL
A 12 NULL
B 13 B3
....................
B 17 B3
我不明白你在這裏要做什麼。你能解釋一下這些要求嗎? –