作业帮 > 综合 > 作业

oracle 分析函数rank()over()使用,与group by的区别

来源:学生作业帮 编辑:灵鹊做题网作业帮 分类:综合作业 时间:2024/04/28 12:56:02
oracle 分析函数rank()over()使用,与group by的区别
最近看到oracle的分析函数rank,经常与over一起使用,但是不是很清楚与group by的区别,看起来功能很相似,rank over的使用场景和分组group by 的区别
partition
顺便帮忙分析一下下面的 mysql的sql语句
SELECT id,
score,
rank
FROM (SELECT tmp.id,
tmp.score,
@rank := @rank + 1 AS rank
FROM (SELECT id,
score
FROM a
ORDER BY score desc) tmp,
(SELECT @rank := 0) a) RESULT;
有几个不太理解的地方
@rank算是变量的申明吗?@rank := @rank + 1 @rank的初始值是从哪里来的SELECT @rank := 0,算是rank的初始值么,
oracle 分析函数rank()over()使用,与group by的区别
你这里的rank 就是参数吧.
oracle里面rank over 和 group by 是完全不一样的东西.
怎么还功能相似呢.理解不能.
rank over 的用法.
group by 只是在分组的时候使用.