我有一个表,我想用一个二进制变量来分组 group_generator
这定义了组的结尾:如果它等于 1
,则组包含前面的所有行 group_generator = 0
例子:
Numbers group_generator
10 0
20 0
30 1
40 0
50 1
60 1
我需要把数字分成三组:
(10, 20, 30);
(40, 50);
(60)
我试着用 group_generator
对于索引小于当前值的所有行,如下所示:
Numbers group_generator group
10 0 0
20 0 0
30 1 0
40 0 1
50 1 1
60 1 2
并按最后一列进行分组,但如果没有临时表,情况会很复杂。
在mysql中有没有一种简单的方法可以做到这一点?
1条答案
按热度按时间6kkfgxo01#
一旦您有了新的列,此查询将为您提供所需的结果:
输出:
所以整个查询可以是:
输出
还可以使用存储过程生成此输出: