想在表里把LiuyanId按照LiuyanTime顺序并按顺序重新赋值LiuyanId 为1,2,3,4,5..

原句:select *,1 over(order by LiuyanTime) as LiuyanID from 留言板
目的:想在 表《留言板》 里把LiuyanId按照LiuyanTime的顺序并按顺序重新赋值LiuyanId
为1,2,3,4,5,...
网上查到的,但是不对,请大神们问怎么修改!

看起来你的查询语句尝试使用 SQL 的窗口函数 ROW_NUMBER() 来生成一个列,其中该列的值按照 LiuyanTime 列的值的升序排列,并且每一行的值递增。


在这种情况下,你可以使用以下查询语句来达到你的目的:

SELECT *,
       ROW_NUMBER() OVER (ORDER BY LiuyanTime) AS LiuyanID
FROM 留言板;

这个查询语句会从表 留言板 中选择所有列,并且生成一个名为 LiuyanID 的列,其中该列的值按照 LiuyanTime 列的值的升序排列,并且每一行的值递增。


注意,在 SQL 中,列的名称不能包含空格。因此,你应该使用下划线(_)或驼峰式命名法(例如 LiuyanId)来命名列。