我注意到在所有SQL系列语言(T-SQL,U-SQL等)中,ORDER_BY子句需要放在PERCENT_RANK的OVER子句中,如:
PERCENT_RANK( )
OVER ( [ partition_by_clause ] order_by_clause )
但对于PERCENTILE_CONT和PERCENTILE_DISC,ORDER_BY子句需要放在OVER之外:
PERCENTILE_CONT ( numeric_literal )
WITHIN GROUP ( ORDER BY order_by_expression [ ASC | DESC ] )
OVER ( [ <partition_by_clause> ] )
我很好奇这种差异背后的设计考虑因素是什么?