sqlserver 使用 ROW_NUMBER() OVER(order by xxx),此语句中的“OVER” 的代表什么含义?功能是什么??

2020-05-05 综合 101阅读
--用ROW_NUMBER函数,你就可以获得添加在你的结果集的增加列中的行序号。为了获得行序号,你只要简单的将ROW_NUMBER函数作为一列添加进你的SELECT语句中。你还必须添加OVER语句以便告诉SQL Server你希望怎样添加行序号
DECLARE @t TABLE
(id INT ,
num INT)
INSERT INTO @t
SELECT 1,2 UNION ALL
SELECT 2,3 UNION ALL 
SELECT 3,1 UNION ALL
SELECT 4,4  UNION ALL
SELECT 5,4
--order 是必填项 用于排序
SELECT *,ROW_NUMBER()OVER (ORDER BY num ASC) 排序
FROM @t
--先按照 PARTITION分类 在安装 order 排序
SELECT *,ROW_NUMBER()OVER (PARTITION BY num ORDER BY id ASC) 排序
FROM @t
声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com