背景
客户需要针对用户的积分进行排名,按照积分的多少降序进行。为了更快更好的满足客户需求,就采取了SQL Server已有的排名函数RANK或DENSE_RANK来实现
RANK
返回结果集的分区内每行的排名。 行的排名是相关行之前的排名数加一。
ROW_NUMBER 和 RANK 类似。 ROW_NUMBER 按顺序对所有行进行编号(例如: 1、2、3、4、5)。 RANK 为相应关联提供相同的数值(例如: 1、2、2、4、5)。
RANK是运行查询时计算出的临时值
语法
RANK ( ) OVER ( [ partition_by_clause ] order_by_clause )
如果两个或多个行与一个排名关联,则每个关联行将得到相同的排名
DENSE_RANK
此函数返回结果集分区中每行的排名,排名值没有间断。...
3年前 (2022-04-06) 800℃ 0评论
3喜欢
创建链接服务器
sp_addlinkedserver
创建链接服务器。 链接服务器让用户可以对 OLE DB 数据源进行分布式异类查询。 使用 sp_addlinkedserver 创建链接服务器后,可对该服务器运行分布式查询。 如果链接服务器定义为 SQL Server实例,则可执行远程存储过程。
语法
sp_addlinkedserver [ @server= ] 'server' [ , [ @srvproduct= ] 'product_name' ]
[ , [ @provider= ] 'provider_name' ]
[ , [ @datasrc= ] 'data_source' ]
[ , [ @location= ] '...
4年前 (2021-05-23) 703℃ 0评论
5喜欢
在数据库进行表设计的时,大多情况下都习惯使用一个自增列作为主键,具体原因这里不会进行描述。在很多情况下需要对现有数据进行数据迁移,这个时候就需要保证迁移后的数据自增列的数据保持不变。SQL SERVER是支持这种迁移方式的。
首先就要先取消自增长,数据迁移完成后再恢复自增长即可。
SET IDENTITY_INSERT
允许将显式值插入表的标识列中。
语法
SET IDENTITY_INSERT [ database.[ owner.] ] { table } { ON | OFF }
实例
set IDENTITY_INSERT tableName on;
INSERT INTO tableName (id,name) VALUES (2,'name');
set IDENTITY_INSER...
13年前 (2012-04-10) 2967℃ 0评论
7喜欢