pct
La función pct es una función de ventana que devuelve el porcentaje de cada valor respecto a la suma total del rango.
Si no se especifica PARTITION BY, el denominador es la suma global. Se puede usar tanto la sintaxis OVER estándar como la sintaxis compacta de Crono.
Ejemplo
Sección titulada «Ejemplo»La siguiente consulta muestra las ventas de cada categoría y su porcentaje sobre el total:
select categories.category_name, sum(order_details.unit_price * order_details.quantity) ventas, pct(ventas) pct_sobre_totalfrom staging.order_detailsinner join staging.products using product_idinner join staging.categories using category_idgroup by all;También es posible usar PARTITION BY para calcular el porcentaje dentro de un grupo:
select year(orders.order_date) anyo, month(orders.order_date) mes, sum(order_details.unit_price * order_details.quantity) ventas, pct(ventas partition by anyo) pct_sobre_anyofrom staging.order_detailsinner join staging.orders using order_idgroup by all;