Ver Mensaje Individual
  #2 (permalink)  
Antiguo 26/02/2009, 07:42
seiferdrg
 
Fecha de Ingreso: enero-2008
Mensajes: 52
Antigüedad: 16 años, 3 meses
Puntos: 2
Respuesta: Obtener porcentaje enconsulta de Base de Datos

Supongo que quieres saber el porcentaje de atentions de un departamento respecto al total de atentions de todos segun la consulta, necesitarias saber el total, puedes hacerlo por una query de la siguiente manera:

Código PHP:
$sqltotal "SELECT COUNT(*) AS total
FROM atentions a, departamentos d 
WHERE 
    a.departament_id= d.id 
    AND a.atention_date >='"
.$fecha_inicio."' 
    AND a.atention_date <='"
.$fecha_hasta."'
    AND d.id != 1"
;

$res =  pg_query($sql);

$t pg_fetch_array($res);
$total $t["total"];

$sql "SELECT d.id as idDep, COUNT(*) AS contador 
FROM atentions a, departamentos d 
WHERE 
    a.departament_id= d.id 
    AND a.atention_date >='"
.$fecha_inicio."' 
    AND a.atention_date <='"
.$fecha_hasta."'
    AND d.id != 1
GROUP BY d.id"
;

$res =  pg_query($sql);

while (
$linea pg_fetch_array($res)){
    
$linea["porcentaje"] = $linea["contador"] / $total;
    
$r[]= $linea["id"]
}

foreach(
$r as $key => $val){
    
$val["idDep"] -> id Departamento
    $val
["porcentaje"] -> Porcentaje de atentions
    $val
["contador"] -> Numero de atentions

Esto haces 2 querys una para saber el total y otra para saber el de cada uno, la otra opcion es hacerlo por codigo, tendrias que recorrer todos los departamentos para saber el total y luego recorrerlo otra vez para calcular el porcentaje.

(no he probado el codigo asi que es susceptible a tener algun fallo)