繁体   English   中英

在查询结果中包含行号(SQL Server)

[英]Include row number in query result (SQL Server)

我认为sql server中的每一行都有一个唯一的编号。 如何在SQL查询结果中包含它?

如果您在运行查询时引用Management Studio提供的行号,则无法获取该行,因为它实际上并不存在。 Management Studio即时生成。 但是,如果您使用的是SQL Server 2005或更高版本,则可以使用ROW_NUMBER排名功能重新创建序列号。 请注意,除非包含Order By语句,否则不应假设数据库将按指定顺序返回行。 所以您的查询可能如下所示:

Select ....
    , Row_Number() Over ( Order By T.SomeColumn ) As Num
From Table As T
Order By T.SomeColumn

Over子句中的Order By用于确定创建序列号的顺序。 查询结尾处的Order By子句用于确定输出中行的顺序(即序列号的顺序和行的顺序可以不同)。

结果的唯一性始终是您的主要关键。

但是有一种称为ROW_NUMBER函数的东西可以用作特定结果中行的唯一标识。

SELECT zip,city,state,latitude,longitude,timezone,dst,
          ROW_NUMBER() OVER (ORDER BY zip) AS num
          FROM dbo.zipcode;

我想你应该用这个....

DCount('Column_Name','Table_Name','Column_Name <= ' & [Column_Name]) as SR

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM