任何人都可以向我解释窗口函数和分组依据之间的实际区别,比如当我们尝试使用窗口函数和分组依据进行求和时,内部是如何工作的。哪一种效果更好,以及一种在时间复杂度方面击败另一种的情况。
GROUP BY 适用于查询的整个结果集
WINDOW 函数跨子集中定义的记录子集工作
它们是不同的功能,达到不同的结果;它们(通常)不可互换,因此询问哪一个更好是没有意义的。
给定一组特定的情况,可以编写一个 WINDOW 函数来实现与 GROUP BY 相同的结果,但在这种情况下,使用 WINDOW 函数没有意义,只需使用 GROUP BY,因为它通常更简单写。