繁体   English   中英

row_number()函数

[英]row_number() function

如何在视图中使用row_number函数?

我这样使用它:

SELECT 
    ROW_NUMBER() OVER (ORDER BY name ASC), 
    name, family, mobile, tell
FROM  
    dbo.customer

但是SQL Server抛出此错误:

SQL文本不能在网格窗格和图窗格中表示。

错误为: “ SQL文本无法在网格窗格和图窗格中表示”

好吧,查询设计器不支持row_number 在普通的sql查询编辑器中尝试查询。 查询设计器几乎是无用的,因为它仍然有错误并且缺少很多东西(像这样)。

您还应该给它起一个名字:

SELECT ColName = row_number()over(order by name asc), name, family, mobile, tell
FROM  dbo.customer

您可以在视图中使用row_number() ,但需要给它命名以在视图中使用:

SELECT row_number() over (order by name asc) as seqnum,
       name, family, mobile, tell
FROM dbo.customer;

问题出在您的列[name] ,它的数据类型为text 从2000/2005 iirc开始不推荐使用该特定数据类型。

如果需要对[name]列进行排序操作,则它必须是其他数据类型。 您应该使用(n)varchar(MAX)

暂无
暂无

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

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