sqlite中的复杂行排序
对于一个市场研究项目,我在sqlite数据库中有一个表,用于指定问题的确切位置。对于不同的受访者群体,问题可能会被问到,也可能不会被问到,或者在不同的位置被问到。该位置由每组的连续数字表示 要求对该表进行排序,以便在顺序允许的情况下将相同的问题分组。换句话说:如果先问组1,然后问组2,然后问组3,然后再问组2,那么应该先显示组1的前三行,然后显示组2的第一行 表:sqlite中的复杂行排序,sqlite,sorting,Sqlite,Sorting,对于一个市场研究项目,我在sqlite数据库中有一个表,用于指定问题的确切位置。对于不同的受访者群体,问题可能会被问到,也可能不会被问到,或者在不同的位置被问到。该位置由每组的连续数字表示 要求对该表进行排序,以便在顺序允许的情况下将相同的问题分组。换句话说:如果先问组1,然后问组2,然后问组3,然后再问组2,那么应该先显示组1的前三行,然后显示组2的第一行 表: group | question | position g1 | q1 | 1 g1 | q2
group | question | position
g1 | q1 | 1
g1 | q2 | 2
g1 | q3 | 3
g1 | q4 | 4
g1 | q5 | 5
g1 | q8 | 6
g2 | q2 | 1
g2 | q3 | 2
g2 | q7 | 3
g2 | q8 | 4
g2 | q1 | 5
它应该是什么样子的:
group | question | position
g1 | q1 | 1
g1 | q2 | 2
g2 | q2 | 1
g1 | q3 | 3
g2 | q3 | 2
g1 | q4 | 4
g1 | q5 | 5
g2 | q7 | 3
g1 | q8 | 4
g2 | q8 | 6
g2 | q1 | 5
我尝试了各种各样的方法和团体,但都不能解决问题。由于数据库是通过python访问的,因此我可以在那里执行排序,但我强烈倾向于提取已排序的数据。描述不清楚。你如何确定任何一个问题的立场?您如何确定某个问题的排序位置错误?@CL该位置由每组的“位置”列分别确定。g1将首先看到q1,然后是q2,以此类推。g2从q2开始,以q1结束。错误的排序出现在两种情况下:首先,原始流未被保留,即在最终表格中,每个组的“位置”列中的数字必须增加。第二,如果可能,同样的问题需要分组。排序表从g1-q1开始,因为它是g1的第一个问题,而g2不要求q1。两组都要求q2,因此将其分组在第2行和第3行中。该信息属于问题。第二个表没有按照您的描述正确排序。描述不清楚。你如何确定任何一个问题的立场?您如何确定某个问题的排序位置错误?@CL该位置由每组的“位置”列分别确定。g1将首先看到q1,然后是q2,以此类推。g2从q2开始,以q1结束。错误的排序出现在两种情况下:首先,原始流未被保留,即在最终表格中,每个组的“位置”列中的数字必须增加。第二,如果可能,同样的问题需要分组。排序表从g1-q1开始,因为它是g1的第一个问题,而g2不要求q1。两组都要求q2,因此将其分组在第2行和第3行中。该信息属于问题。第二个表没有按照您的描述正确排序。