如何在不单独指定所有列的情况下对所有列的 SQL 结果进行排序?

Posted

技术标签:

【中文标题】如何在不单独指定所有列的情况下对所有列的 SQL 结果进行排序?【英文标题】:How to order the SQL result on all columns without specifying them individually? 【发布时间】:2014-03-07 06:26:35 【问题描述】:

假设我的表 tabname5 列。

我想这样做:

select * from tabname order by col1,col2,col3,col4,col5

取而代之的是,有没有类似的方法:

select * from tabname order by 'AllColumns'

使用上面的行,我应该能够对所有列的结果进行排序,而无需单独指定它们。使用 Informix 数据库?

【问题讨论】:

【参考方案1】:

你做不到。一种方法是使用select field number,但如果选择语句中的列数是固定的(或不少于您在 ORDER BY 中使用的数字),则此方法有效。

例如,如果您在选择列表中始终有 5 列(或更多),您可以运行以下查询:

  select * from tabname order by 1,2,3,4,5

在本例中,这意味着1 - 是选择列表中的第一列,2 是第二列......

【讨论】:

谢谢。我已经在使用select * from tabname order by 1,2,3,4,5 我想要更通用的东西,你说我们做不到。

以上是关于如何在不单独指定所有列的情况下对所有列的 SQL 结果进行排序?的主要内容,如果未能解决你的问题,请参考以下文章

如何在不更改特定列的情况下对数据框中的数据进行重新采样?

如何在不更改特定列的情况下对数据框中的数据进行重新采样?

如何在不命名所有列的情况下合并两个表?

替换Hive表中所有列的字符

SQL - 更新表,以便在给定另一列的键的情况下对一列求和

SQL-如何在不自动增加 ID 列的情况下插入行?