entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

2votos

calcular porcentaje en consulta sql

Hola.

Quisiera calcular el porcentaje que representa cada condición en la siguiente consulta.

SELECT alumnos.sexo, count(id) as sx, 
( SELECT count(a.sexo)*100/count(alumnos.id)
  FROM alumnos AS a
  WHERE a.sexo=alumnos.sexo
) as porcentaje
FROM alumnos 
GROUP BY alumnos.sexo

Obtengo como resultado:

sexo sx porcentaje
F 410 100.0000
M 108 100.0000

Gracias Desarrolladores!

1 Respuesta

2votos

Leonardo-Tadei Puntos227320

Hola Nico,

en la subquery tenés que tomar como parcial la cantidad de alumnos del mismo sexo y de total para el porcentaje el total de los registros:

SELECT Alumnos.sexo, COUNT( Alumnos.id ) AS sx, 
( SELECT COUNT( Alumnos.sexo ) *100 / COUNT( A.id )
FROM Alumnos AS A
) AS porcentaje
FROM Alumnos
GROUP BY Alumnos.sexo

Fijate que en la subquery no se restringe a los alumnos de un solo sexo, sino al total.

Ajustá los nombres de los campos a tus tablas: yo creé una tabla para probarlo y pueden no coincidir con la tuya.

Saludos cordiales!

1voto

top21tk comentado

Ahora funciona.
Ayer probé hacer algo similar y no me funcionó.

Muchas gracias Leo. Abrazo...

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta