暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

开窗函数ROW_NUMBER

yuerer 2024-04-02
324

1、用于排序

SELECT id,`name`,age,salary,ROW_NUMBER() OVER(ORDER BY salary DESC) RNFROM TEST_ROW_NUMBER_OVER;

在这里插入图片描述

如果不指定分组那么会对全局进行排序,将所有数据视为一组;


分组后排序,partition类似于group by

SELECT id,`name`,age,salary,ROW_NUMBER() OVER(PARTITION BY id ORDER BY salary DESC) RNFROM TEST_ROW_NUMBER_OVER;

在这里插入图片描述

先执行PARTITION BY按id分组,然后ORDER BY在分组内按照salary排序


注意: 在使用 row_number() over()函数时候,over()里头的分组以及排序的执行晚于 where 、group by、
order by 的执行

参考链接:https://blog.csdn.net/weixin_46574678/article/details/135675698

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论