SQL-是否可以按其他列对列进行排序?
我有一张这样的桌子SQL-是否可以按其他列对列进行排序?,sql,sqlite,Sql,Sqlite,我有一张这样的桌子 Column1 Column2 Column3 3 2 1 是否可以按ASC的顺序返回列?1> 2>3 Column3 Column2 Column1 1 2 3 对于基于列的排序,没有内置的sql级别支持。时期您必须手动设置顺序,但要做到这一点,您已经需要知道它们的值。如果您已经知道它们的值,那么执行查询就没有意义了 您可以做的是使用union将列转换为记录,并以这种方式对它们进行排序。输出将采用不同的格式,但您可以实
Column1 Column2 Column3
3 2 1
是否可以按ASC的顺序返回列?1> 2>3
Column3 Column2 Column1
1 2 3
对于基于列的排序,没有内置的sql级别支持。时期您必须手动设置顺序,但要做到这一点,您已经需要知道它们的值。如果您已经知道它们的值,那么执行查询就没有意义了 您可以做的是使用
union
将列转换为记录,并以这种方式对它们进行排序。输出将采用不同的格式,但您可以实现动态排序。但您必须提前知道所有列的名称:
select col1 as val, 'col1' as colname from yourtable
union
select col2, 'col2' from yourtable
union
select col3, 'col3' from yourtable
order by val asc
val
字段提供值,colname
字段告诉您数据来自哪个列。3,2,1是每列中的值吗?或者只是引用列?mysql还是sqlite?您只需在执行选择操作时设置列顺序。没有内置的sql级别支持基于列进行排序。时期您必须手动设置顺序,但要做到这一点,您已经需要知道它们的值。如果您已经知道它们的值,那么执行查询就没有意义了。@wu4m4n它们是列any integer中的值。@Dekel我正在使用android studio。