SQL排序后将序号填入指定字段

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL排序后将序号填入指定字段相关的知识,希望对你有一定的参考价值。

1、显示行号

    如果数据没有删除的情况下主键与行号是一致的,但在删除某些数据,行号就与主键不一致了,这时需要查询行号就需要用新的方法,在SQL Server2005之前,需要使用临时表,但在SQL Server2005中,使用ROW_NUMBER()非常方便。

以下是一个查询语句,意思是按照cid将数据排序,然后将排序后的序号填入新建的字段rowNum。

select row_number() over (order by cid) as rowNum,* from t_gene

查询结果:

技术分享


2.运用

    以下是本文需要达到的目的,即排序后,将排序后的序号更新到指定字段。

with ts as(
select row_number() over (order by clccode) as rn,* from t_gene
)
update ts
set  cdkxh=rn

运行结果:

    未排序前。此时可以看到字段cdkxh大小参差不齐

select * from t_gene

技术分享

    排序后,将临时字段rn的序号更新到字段cdkxh

技术分享



本文出自 “世界都一样” 博客,请务必保留此出处http://970076933.blog.51cto.com/9767314/1874767

以上是关于SQL排序后将序号填入指定字段的主要内容,如果未能解决你的问题,请参考以下文章

powerbi 怎么指定排序规则

sql按字段分组,排序,并且找出每组最大的数据

怎样在SQl数据库的表格里添加“序号”表示字段

【SQL】根据一个字段分组求另一个字段的最大值,并带出其他字段

[ArcPy Tips-1]根据指定字段的大小顺序,在另一字段中存储其序号

MySQL查询时,怎么排除某个字段查询