如何在不单独指定所有列的情况下对所有列的 SQL 结果进行排序?
Posted
技术标签:
【中文标题】如何在不单独指定所有列的情况下对所有列的 SQL 结果进行排序?【英文标题】:How to order the SQL result on all columns without specifying them individually? 【发布时间】:2014-03-07 06:26:35 【问题描述】:假设我的表 tabname
有 5 列。
我想这样做:
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 结果进行排序?的主要内容,如果未能解决你的问题,请参考以下文章