我有一个 sql select 语句,其中包含一些从其他列或表计算的列。我使用 As 关键字为该列命名。
现在,我想按计算列对该表进行排序。我不能使用该名称进行排序。
有人请帮助使用计算列对 sql 表进行排序。
我有一个 sql select 语句,其中包含一些从其他列或表计算的列。我使用 As 关键字为该列命名。
现在,我想按计算列对该表进行排序。我不能使用该名称进行排序。
有人请帮助使用计算列对 sql 表进行排序。
在旧版本的 SQL Server 中,您可以在子查询中定义别名:
select *
from (
select col1 + col2 as col3
from YourTable
) SubQueryAlias
order by
col3
在 SQL Server 2008+ 中,您应该能够在order by
没有子查询的情况下使用别名:
select col1 + col2 as col3
from YourTable
order by
col3
还有一个选项,您可以按顺序使用 COLUMN INDEX NUMBER,如以下示例所示
select ACol,AVal,CAST(ACol as varchar(3)) + aval as 'New' from ABC order by 3
这将使用“新”列进行排序