Supongamos que tengo una tabla de valores:
+----+-------+ | Id | Value | +----+-------+ | 1 | 2 | | 2 | 9 | | 3 | 5 | | 4 | 5 | | 5 | 8 | | 6 | 1 | +----+-------+¿Cómo puedo calcular el porcentaje de filas cuyo valor es superior a un umbral determinado?
Por ejemplo, con un umbral de 'superior a 5' , ¿cómo podría consultar para obtener lo siguiente?
+-------+------------------+ | Total | Percent above 5 | +-------+------------------+ | 6 | 33.33 | +-------+------------------+Usar agregación condicional:
select count(*), avg( (value > 5)::int ) * 100 as percentage_above_5 from t;