“()”在等级声明中做了啥
Posted
技术标签:
【中文标题】“()”在等级声明中做了啥【英文标题】:what does the "()" do within an rank statement“()”在等级声明中做了什么 【发布时间】:2018-11-06 15:57:24 【问题描述】:只是好奇“()”在“rank ()”语句中的作用以及我如何应用它们。
例如,以下是标准排名查询,但我从未在“OVER”关键字后面的括号中填充“()”,我很好奇它的目的是什么?
SELECT RANK() OVER (ORDER BY col1 DESC)
FROM DUAL;
【问题讨论】:
查看文档RANK 没有很好地解释我提出的问题 @jackd102 - 您可能希望从不同的角度处理您的陈述。您可以说“我对文档的理解不够好,无法将其应用于我的问题”。但是您当前的断言也意味着 _I_ 无法回答您阅读该文档的问题。作为生活中的指导原则,在断言你周围的世界是错误的或有缺陷之前,假设你是错误的或你不理解...... 文档显示它们是分析版本语法的必需部分,中间没有任何内容。该页面中的"see also" link 还显示了arguments
是可选的一般语法-“分析函数采用0 到3 个参数”。
括号是语法的一部分,是必需的。如果您将其用作分析函数,则不必填充它们。话虽如此,它似乎确实接受了一个或多个参数,在这种情况下它的行为会有所不同。
【参考方案1】:
RANK()
是一个不带参数的函数。
调用函数(通常)需要括号。他们只是表明这是一个函数调用。在这种情况下,该函数需要窗口框架的其余部分,因此需要OVER
。
【讨论】:
以上是关于“()”在等级声明中做了啥的主要内容,如果未能解决你的问题,请参考以下文章
nextState 在 shouldComponentUpdate 中做了啥?
elementFormDefault 在 XSD 中做了啥?