Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Calculo de Porcentajes Global y Detalles MYSQL

Estas en el tema de Calculo de Porcentajes Global y Detalles MYSQL en el foro de Mysql en Foros del Web. Estimados El motivo de la siguiente consulta es pedirles ayuda con el siguiente reporte que debo generar: Tengo para ejemplificar y hacer mas fácil la ...
  #1 (permalink)  
Antiguo 08/05/2012, 15:40
 
Fecha de Ingreso: septiembre-2010
Mensajes: 32
Antigüedad: 14 años, 2 meses
Puntos: 0
Calculo de Porcentajes Global y Detalles MYSQL

Estimados

El motivo de la siguiente consulta es pedirles ayuda con el siguiente reporte que debo generar:
Tengo para ejemplificar y hacer mas fácil la comprensión del asunto la siguiente Tabla con datos




A partir de esta tabla en la que esta distribuida en grupos y estado debo resumir en una tabla que arroje el siguiente formato





Llevo varios días cabeceándome pero solo he llegado a esto :
select GRUPO, COUNT(ID ), ROUND(((count(ESTADO )/(SELECT COUNT(*)from `2008` ))*100 ), 2 )AS Percentage Total from `2008` where ESTADO IS NOT NULL group by GRUPO

Pero con esto solo he obtenido en análisis general y no por detalle,
Saludos desde Chile y espero que a alguien mas le sirvan las respuestas.

Última edición por clnetcom; 08/05/2012 a las 19:35
  #2 (permalink)  
Antiguo 09/05/2012, 07:01
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 8 meses
Puntos: 574
Respuesta: Calculo de Porcentajes Global y Detalles MYSQL

Divide y vencerás

Con esto obtienes los datos generales
Código MySQL:
Ver original
  1. SELECT "Total General",
  2.           SUM(if(Estado="ok",1,0)) as ok,
  3.           SUM(if(Estado="ok",0,1)) as pendiente,
  4.           COUNT(*) as total
  5. FROM `2008`
  6. WHERE Estado IS NOT NULL;

Con esto obtienes los datos de cada grupo
Código MySQL:
Ver original
  1. SELECT Grupo,
  2.           SUM(if(Estado="ok",1,0)) as ok,
  3.           SUM(if(Estado="ok",0,1)) as pendiente,
  4.           COUNT(*) as total
  5. FROM `2008`
  6. GROUP BY Grupo;

Luego con programación externa te será fácil construir la tabla que quieres....
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.
  #3 (permalink)  
Antiguo 09/05/2012, 09:53
 
Fecha de Ingreso: septiembre-2010
Mensajes: 32
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: Calculo de Porcentajes Global y Detalles MYSQL

Gracias Quimfv!!!!

Le agregué el calculo de porcentajes y me quedó así; muchas gracias:

Comparto consulta con porcentajes de oK

$sql = 'SELECT GRUPO, COUNT(*)as TOTAL , SUM(if(ESTADO ="ok" , 1 , 0 ))as ok , SUM(if(ESTADO ="ok" , 0 , 1 ))as pendiente , ROUND ((SUM(if(ESTADO ="ok" , 1 , 0 )))*100 /COUNT(*), 1 )as PORC , COUNT(*)as t FROM `2008` WHERE ESTADO IS NOT NULL GROUP BY GRUPO ORDER BY `PORC` DESC';

Lo damos por cerrado!

Etiquetas: calculo, detalles, global, porcentajes, tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:47.