Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 2005 新列上的行数_Sql Server 2005_Tsql_Sql Order By_Row Number - Fatal编程技术网

Sql server 2005 新列上的行数

Sql server 2005 新列上的行数,sql-server-2005,tsql,sql-order-by,row-number,Sql Server 2005,Tsql,Sql Order By,Row Number,是否可以按行号内的新列排序? 我想这样做: select text1 + text2 as NEW_TEXT, row_number over (order by NEW_TEXT) from table 但是这样的排序不起作用(我得到随机结果)。您必须重复表达式text1+text2 select text1 + text2 as NEW_TEXT, row_number() over (order by text1 + text2) from table 或者分步骤进行(这里foo可能

是否可以按行号内的新列排序? 我想这样做:

select text1 + text2 as NEW_TEXT, row_number over (order by NEW_TEXT) from table

但是这样的排序不起作用(我得到随机结果)。

您必须重复表达式
text1+text2

select text1 + text2 as NEW_TEXT, 
row_number() over (order by text1 + text2)
from table
或者分步骤进行(这里foo可能是一个CTE)


您必须重复表达式
text1+text2

select text1 + text2 as NEW_TEXT, 
row_number() over (order by text1 + text2)
from table
或者分步骤进行(这里foo可能是一个CTE)


另一种选择是将初始结果包装在子选择中,并在该子选择中应用
行编号

SQL语句 测试数据
另一种选择是将初始结果包装在子选择中,并在该子选择中应用
行编号

SQL语句 测试数据
您可以使用子查询进行此操作,如下所示:

select NEW_TEXT, row_number() over (order by NEW_TEXT)
from
(
    select Text1 + Text2 as NEW_TEXT
    from TestTable
) TempTable

您可以使用子查询进行此操作,如下所示:

select NEW_TEXT, row_number() over (order by NEW_TEXT)
from
(
    select Text1 + Text2 as NEW_TEXT
    from TestTable
) TempTable
select NEW_TEXT, row_number() over (order by NEW_TEXT)
from
(
    select Text1 + Text2 as NEW_TEXT
    from TestTable
) TempTable
select text1 + text2 as NEW_TEXT, 
row_number over (order by text1 + text2) 
from table