【发布时间】:2020-06-18 17:44:27
【问题描述】:
给定以下数据集
CREATE TABLE #temp
( A NUMERIC,
B NUMERIC )
INSERT INTO #temp VALUES (243184, 0);
INSERT INTO #temp VALUES (240719, 0);
INSERT INTO #temp VALUES (236482, 1);
INSERT INTO #temp VALUES (230777, 0);
INSERT INTO #temp VALUES (226023, 0);
INSERT INTO #temp VALUES (222522, 0);
INSERT INTO #temp VALUES (214977, 1);
SELECT *
FROM #temp
ORDER BY A DESC
A B
--------------------------------------- ---------------------------------------
243184 0
240719 0
236482 1
230777 0
226023 0
222522 0
214977 1
如何获得以下输出?
A B C
--------------------------------------- --------------------------------------- ----
243184 0 1
240719 0 1
236482 1 2
230777 0 3
226023 0 3
222522 0 3
214977 1 4
当按降序排序时,我想根据“A”的值将 [B] 记录的连续实例分组。
所以每次 [B] 从 0 翻转到 1 时,都会开始一个新组
有什么想法吗?
【问题讨论】:
-
我看不到预期输出的意义,你能解释一下吗?
-
试过改变问题现在更有意义了吗?
标签: tsql sql-server-2014