sql-server – 如何为表示记录号的表中的每一行分配一个数字?
发布时间:2020-12-12 08:45:15 所属栏目:MsSql教程 来源:网络整理
导读:如何以添加新记录的方式显示表中的行数,表示该行的数字越高,删除记录时,数字会相应更新? 为了更清楚,假设我有一个这样的简单表: ID int (primary key) Name varchar(5) ID被设置为自己递增(使用身份规范),因此它不能表示行(记录)的数量,因为如果我有例如3条
如何以添加新记录的方式显示表中的行数,表示该行的数字越高,删除记录时,数字会相应更新?
为了更清楚,假设我有一个这样的简单表:
ID被设置为自己递增(使用身份规范),因此它不能表示行(记录)的数量,因为如果我有例如3条记录:
我删除Alex和Scott并添加一条新记录: 3 Sara 4 Mina 所以基本上我正在寻找一个用于执行此操作的SQL端解决方案,以便我不会在多个位置更改源代码中的任何其他内容. 我试着写一些东西来完成工作,但它很糟糕.这里是 : SELECT COUNT(*) AS [row number],Name FROM dbo.Test GROUP BY ID,Name HAVING (ID = ID) 这显示为: row number Name 1 Alex 1 Scott 1 Sara 虽然我希望它显示为: row number Name 1 Alex 2 Scott 3 Sara 解决方法如果您只是想在选择数据时而不是在数据库中对行进行编号,那么您可以使用它select row_number() over(order by id) from dbo.Test 这将给出第n行的行号n. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
热点阅读