一、排名函数
1、RANK()
SELECT BP.Model,
RANK() OVER (ORDER BY BP.Model ASC) AS No
from [数据库1].[dbo].table1 BP
LEFT JOIN [数据库2].[dbo].table2 PM ON BP.Model=PM.Model collate Chinese_PRC_CI_AI_WS
2、ROW_NUMBER()
SELECT BP.Model,
RANK() OVER (ORDER BY BP.Model ASC) AS No
from [数据库1].[dbo].table1 BP
LEFT JOIN [数据库2].[dbo].table2 PM ON BP.Model=PM.Model collate Chinese_PRC_CI_AI_WS

以上两个sql语句结果对比可得出结论:两个函数的区别在于,目标字段是否相同。
结论:目标字段是否相同时
ROW_NUMBER():每一条数据加一个序号,一次排序
RANK():排名一样
本文比较了SQL中的RANK()和ROW_NUMBER()函数,指出RANK()在排序后给予相同排名相同的值,而ROW_NUMBER()则为每条数据添加唯一的序号,不考虑排名。

被折叠的 条评论
为什么被折叠?



