我正在寻找一个简单的解决方案来订购SQL表。结构如下:
ID | content | previous
------+---------+---------
12753 | blabla1 |
24985 | blabla2 |
31689 | blabla3 |
41036 | blabla4 | 12753
54985 | blabla5 |
previous
列用于指示必须出现在此项之前的元素。例如,我想得到这个结果:
ID | content | previous
------+---------+---------
12753 | blabla1 |
41036 | blabla4 | 12753
24985 | blabla2 |
31689 | blabla3 |
54985 | blabla5 |
SQL有一个简单的解决方案吗?我以为我可以使用PHP来改变数组中的位置,但我认为它太复杂了......
在第二步中,我希望能够指出元素必须是第一个。此元素在previous
列中为“0”。但对于这种情况,最简单的解决方案在我看来就是PHP。
非常感谢你的帮助,
此致
答案 0 :(得分:2)
以下是一种适用于一个级别的方法:
data_frame['COLUMN1'] = data_frame['COLUMN1'].apply(lambda s: s.decode('utf-8'))
答案 1 :(得分:0)
将两个ID粘在一起并使用它们来订购。当您在之前的
中使用零作为标准值时,IF(...)
就在那里
select *
from test
order by concat(IF(previous=0,"",previous), id), id;