![]() |
calculo de porcentaje
Hola amigos, tengo una tabla con el campo sexo (masculino y femenino) me gustaria saber como calcular el porcentaje de hombres y mujeres con una sola consulta sql.
saludos y gracias de antemano |
Cita:
Hola valiant_crps Primero que nada,,, te damos la Bienvenida al Club... y te invitamos a leer nuestra guia de estilo... con respecto a tu consulta... lo necesitas realizar desde algun motor de base de datos en específico...??? Tambien me gustaria saber si ya tienes el dato de cuantas personas son masculinas y cuantas son femenidas... o tienes que recorrer la tabla y preguntar en algun campo el sexo ??? Salu2:p:D |
Hola, gracias por la bienvenida:
Bueno necesito hacer esto desde mysql, puedo contar el total con una consulta y contar los hombres y mujeres desde otra, pero lo ideal para mi es hacerlo en una sola, donde pueda listar el porcentaje de hombres y mujeres, esto para optimizar mi codigo en php. |
Cita:
basta con % Hombre => ( Tot_Hombres / ( Tot_Hombres + Tot_Mujeres )) * 100 basta con % Mujeres => ( Tot_Mujeres / ( Tot_Hombres + Tot_Mujeres )) * 100 no se como se realiza esto en php.. pero matemáticamente es más facil... salu2:p:D |
SELECT sexo, (count(sexo)/(select count(*) from mi_tabla))*100 as cantidad FROM mi_tabla GROUP BY sexo;
esa es la consulta que necesitaba a mas de alguien le va a servir , estoy seguro... gracias por la ayuda :) |
Cita:
estube probando tu sentencia SQL... pero siempre me entrega 0 ?? estas seguro que te funciona...
si ejecuto la sentencia anterior me entrega esto Código:
y me muestra esto Código:
Salu2 |
hola tu utilizas count(1) yo ocupo count(*) en realidad no tengo donde probarlo en este momento... pero la consulta si funciona , fijate de escribirla correctamente
saludos otra cosa: la version anterior de mysql 4.1.xx no permite hacer consultas anidadas asi que ojo con eso tambien o mysql lanzara un error |
Cita:
igual me entrega esto Código:
per_sexo Cantidad PorcentajeEso fue un truco que me enseñaron en algun cursillo de SQL 2005... que el usar el Count(*) y el Count(1) te entregan un mismo valor, siendo este último más rápido en el tiempo que demora en obtener el resultado... Cita:
Pero como en el post nunca especificastes que lo necesitabas en MySQL... solo que querias una sentencia SQL... Salu2 |
tienes razon ... era MySQL
Cita:
Tambien debo mencionar que no asimile el MySQL en tu pregunta pero es que me quede con la pregunta inicial... Cita:
Salu2:p:D |
Cita:
Porque si es asi, yo utilizo la versión 4.0.xx de mySQL y casi todas mis aplicaciones usan subconsultas.
Ejecutado con mySQL 4.0.22 Saludos |
| La franja horaria es GMT +2. Ahora son las 06:16:02. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi