“()”在等级声明中做了啥

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 中做了啥?

BuildContext 在 Flutter 中做了啥?

retranslateUi 在 PyQT 中做了啥

elementFormDefault 在 XSD 中做了啥?

InputStream.available() 在 Java 中做了啥?

=== 在 PHP 中做了啥