对于市场研究项目,我在sqlite数据库中有一个表,用于指定问题的确切位置。对于不同的受访者群体,可能会询问或不询问问题,或者在不同的位置询问。每个组的连续数字表示该位置。
要求是按照订单允许的方式对相同问题进行分组的方式对此表进行排序。换句话说:如果group1被问到q1,q2然后q3,而group2首先被问到q3,那么前三行应该显示为group1,然后是group2的第一行。
表:
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访问的,我可以在那里执行排序,但我强烈倾向于提取已排序的数据。