como sacar porcentajes en mysql

7941 visitas 2 respuestas

Hola a todos, tengo una base de datos en mysql en donde tengo registrados gastos con detalle y cantidad. Necesito saber como poder sacar porcentajes en mysql, para asi representar, en una pag php, cual fue el mayor gasto, el mes con mas gastos, etc. Esto se puede representar solo en numeros, o tb en graficos a lo excel? Muchas gracias por la ayuda

por john_snake desde Chile

Registrado desde: 05 Feb 09

Respuestas

0 0

Lo que puedes hacer con mysql son promedios

      SELECT Sucursal, AVG(Importe) AS Venta_Promedio FROM Ventas
      GROUP BY Sucursal;

y para redondear o formatear promedios usa esto :

      SELECT Sucursal, ROUND(AVG(Importe)) AS Venta_Promedio 
      FROM Ventas
      GROUP BY Sucursal;

Un saludo!!!

por bruno desde Argentina

Registrado desde: 23 Aug 08
0 0

Te toca hacer dos consultas y hallar el porcentaje con PHP, por ejemplo:

<?php $link = mysql_connect ('localhost', 'root', 'tuclave');

if (!$link){
    echo 'error al conectar';
    die;
}
$bd = mysql_select_db('tubase');
if (!$bd){
    echo 'error al seleccionar la base d datos';
    die;
}

$sqltot=mysql_query("SELECT count(campo) tot FROM palabras");//consulta para averiguar el total $numtot=mysql_fetch_assoc($sqltot); $total=$numtot['tot'];//total, para el que deberías controlar que no fuera cero, para evitar luego dividir por cero al hallar el porcentaje.

$sql = mysql_query("SELECT campo, count(campo) parcial FROM tutabla group by campo");//consulta para cada parcial while ($dato = mysql_fetch_array($sql)){ $porcentaje=round($dato['parcial']*100/$total,2).' %';//preparación del porcentaje echo $dato['campo'].' '.$dato['parcial']. 'porcentaje: '.$porcentaje.''; }//salida de datos

?>

Hay una forma de hacerlo sólo con una consulta. Consiste en lanzar la consulta SELECT campo, count(campo) parcial FROM tutabla group by campo WITH ROLLUP. El total lo recoges en el valor NULL, pero eso es otra historia, aunque funciona.

por jurena desde España

Registrado desde: 04 Sep 07