例如,我有此表:

表格X:

code       name     consecutive
0          a        0
2          b        1
3          c        2
1          d        3
5          e        0
4          f        1
6          g        2
7          h        0
9          i        1
10         j        2
8          k        3


我想做这个:

code          name              consecutive
(0,2,3,1)     (a,b,c,d,e)       (0,1,2,3)
(5,4,6)       (e,f,g)           (0,1,2)
(7,9,10)      (h,i,j)           (0,1,2)
(8)           (k)               (3)

最佳答案

在这种意义上,SQL没有“连续”的概念。您必须在数据模型中的某个位置定义分组。没什么可说的,您的表实际上不会以不同的顺序存储,例如:

code       name     consecutive
0          a        0
2          b        1
6          g        2
8          k        3
5          e        0
4          f        1
3          c        2
1          d        3
7          h        0
9          i        1
10         j        2


如果要在表中指定顺序,则它不能依赖其他记录的“邻近性”,因为SQL数据库存储记录的方式并不像幕后那样采用连续结构。

关于mysql - 如何仅通过MySQL中的指定字段对连续行进行操作?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6365039/

10-13 06:45