如何命令我的子选择保留我的group_concat中的序列?

时间:2014-06-11 06:07:41

标签: mysql

我有以下脚本

http://sqlfiddle.com/#!2/45a17/14

它是如何工作的,它可以选择文档编号并将它们组合成集合,然后在循环中收集这些集合,生成预处理语句,通过获取集合并在{{{{{ 1}}子句,在提供的示例中,我创建了3个ID集合,因此我最终会创建3个文件(实际的数字会被计算,但这与我的问题无关)。

然而,问题在于,即使我订购了源,序列也会被打破,即。对于1个文件,有序序列将是1,4,7,10 ...等而不是1,2,3,4等。

现在说实话,我不介意它是如何出来的,但有人确实并且已经要求序列不被分解,我如何在最终查询中改变我的子选择以便文档编号保留他们的序列(给定结果,文件编号1-9应该在一个集合中,而不是10-18然后是19-25)

注意:之前的查询显示子选择输出

1 个答案:

答案 0 :(得分:1)

SELECT * FROM ints;
+---+
| i |
+---+
| 0 |
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| 6 |
| 7 |
| 8 |
| 9 |
+---+

SELECT i,FLOOR(i/3)+1 a,i % 3 + 1 b FROM ints;
+---+------+------+
| i | a    | b    |
+---+------+------+
| 0 |    1 |    1 |
| 1 |    1 |    2 |
| 2 |    1 |    3 |
| 3 |    2 |    1 |
| 4 |    2 |    2 |
| 5 |    2 |    3 |
| 6 |    3 |    1 |
| 7 |    3 |    2 |
| 8 |    3 |    3 |
| 9 |    4 |    1 |
+---+------+------+