【发布时间】:2018-03-23 07:46:49
【问题描述】:
我有一个包含id 和value 列的表格。我想创建一个将id 分组的列。如果一行的当前value 等于0,则将在ideal_group 中创建一个新组。
表:
id | value | ideal_group
1 1 1
2 1 1
3 1 1
4 0 2
5 1 2
6 0 3
7 0 4
我认为解决方案应该是这样的:
SET @n = 1;
SELECT id,
CASE
WHEN value = 0 THEN @n = @n + 1
ELSE @n END AS ideal_group
但我不想使用计数器变量。有没有其他方法可以解决这个问题?
【问题讨论】:
-
当第一行有
0时应该返回什么? 0 还是 1?
标签: sql sql-server