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

suma de datos especificos

Estas en el tema de suma de datos especificos en el foro de Mysql en Foros del Web. buenas tardes, foreros, para pedirles un gran favor y abusar de sus conocimientos, tengo el siguiente problema; realizo una consulta en SQL y me arroja ...
  #1 (permalink)  
Antiguo 12/05/2009, 16:34
Avatar de darkleo  
Fecha de Ingreso: octubre-2007
Mensajes: 106
Antigüedad: 16 años, 6 meses
Puntos: 0
De acuerdo suma de datos especificos

buenas tardes, foreros, para pedirles un gran favor y abusar de sus conocimientos, tengo el siguiente problema; realizo una consulta en SQL y me arroja lo siguiente:
Código HTML:
190.165.52.0/24	pc_basico128k_arm_a 	22	253	0	197	56
190.165.53.0/24	pc_basico128k_arm_b 	32	253	0	170	81
190.165.57.0/24	pc_basico128k_arm_c 	30	253	0	175	78
190.7.144.0/24	pc_basico128k_arm_d 	34	253	0	165	87
190.165.55.0/24	pc_basico192k_arm_2 	48	251	2	128	122
190.165.48.0/24	pc_basico256k_arm 	14	250	3	213	37
190.165.56.0/24	pc_basico256k_arm_2 	18	252	1	206	46
Como hago para que me sume todo lo que tiene q ver con pc_basico128k_arm es decir que me sume (22+32+30+34) y me muestre el resultado?? o es mejor con un sumador desde afuera ?
muchas gracias !!
__________________
Just LeO
  #2 (permalink)  
Antiguo 13/05/2009, 08:37
Avatar de rodno  
Fecha de Ingreso: enero-2009
Ubicación: En algun lugar de Cuba
Mensajes: 426
Antigüedad: 15 años, 3 meses
Puntos: 43
Respuesta: suma de datos especificos

Buenas,

Prueba con esto:

Código PHP:
Select nomb_ficheroSUM(campo_del_num), otros campos Form
tabla GROUP BY  nomb_fichero 
  #3 (permalink)  
Antiguo 13/05/2009, 08:47
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: suma de datos especificos

Asumiendo que los 7 campos que muestran en la consulta se llamen campo1, campo2, campo3,campo4,campo5,campo6 y campo7 prueba esto:

Código mysql:
Ver original
  1. select sum(campo3) from tabla where campo2 like 'pc_basico128k_arm%';
Un saludo.
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #4 (permalink)  
Antiguo 13/05/2009, 10:57
Avatar de darkleo  
Fecha de Ingreso: octubre-2007
Mensajes: 106
Antigüedad: 16 años, 6 meses
Puntos: 0
Respuesta: suma de datos especificos

Cita:
Iniciado por huesos52 Ver Mensaje
Asumiendo que los 7 campos que muestran en la consulta se llamen campo1, campo2, campo3,campo4,campo5,campo6 y campo7 prueba esto:

Código mysql:
Ver original
  1. select sum(campo3) from tabla where campo2 like 'pc_basico128k_arm%';
Un saludo.
muchas gracias huesos, intente como me dijo con
Código PHP:
$disp_ip2 "SELECT sum(`%Free`) FROM `disp_ips` WHERE `ScopeName` LIKE 'pc_basico128k_arm%'"
pero me arroja el siguiente error:
Código HTML:
TOTAL pc_basico128k_arm : Resource id #4
Que puede ser ?? o que me hace falta??? muchas gracias
__________________
Just LeO
  #5 (permalink)  
Antiguo 13/05/2009, 11:01
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: suma de datos especificos

%Free?

Así se llama tu campo que deseas sumar?
Muestranos la estructura de tu tabla. Los nombres y tipos de datos que tienes.

Prueba la consulta directamente en mysql, para descartar que sea un problema en la consulta y no en php.

Un saludo.
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #6 (permalink)  
Antiguo 13/05/2009, 13:16
Avatar de darkleo  
Fecha de Ingreso: octubre-2007
Mensajes: 106
Antigüedad: 16 años, 6 meses
Puntos: 0
De acuerdo Respuesta: suma de datos especificos

gracias de nuevo huesos, probe la consulta en SQL y claro pefecto funciona !!!!! muchisisimas gracias , que pena la ignorancia pero como hago para imprimir (print, o echo) ese resultado en pantalla debido a q cuando lo puse a mostrar ahi fue donde me salio
Código:
Resource id #4
de nuevo muchisimas gracias !!!!!
__________________
Just LeO
  #7 (permalink)  
Antiguo 13/05/2009, 13:30
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: suma de datos especificos

Ya tienes un problema de php.
Estas sentencias deben ser incluidas en un mysql_query y posteriormente recorridas por funciones como mysql_fetch_array, mysql_fetch_row etc.

Para este caso, solo vas a tener un registro resultante (la suma del campo) entonces mysql_fetch_row te sirve.

Código php:
Ver original
  1. $variable = mysql_query("select sum(campo) etc etc");
  2. $variable1 = mysql_fetch_row($variable);
  3. echo $variable1[0];

un saludo.
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #8 (permalink)  
Antiguo 13/05/2009, 14:27
Avatar de darkleo  
Fecha de Ingreso: octubre-2007
Mensajes: 106
Antigüedad: 16 años, 6 meses
Puntos: 0
De acuerdo Respuesta: suma de datos especificos

funcionó perfecto huesos52, eres un CRACK !!!! muchas gracias, que pena abusar de tus conocimientos, depronto si me podes colaborar con lo siguiente, como hago yo para reemplazar el texto pc_basico128k_arm-a por pc_basico512k_mex, intente con la función
Código PHP:
$todoleo mysql_query("SELECT REPLACE (`ScopeName`, 'pc_basico128k_arm%','pc_basico512k_mex') FROM `disp_ips` "); 
pero no me fue bien

Muchas gracias por la gran ayuda !!!
__________________
Just LeO
  #9 (permalink)  
Antiguo 13/05/2009, 14:46
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: suma de datos especificos

Efectivamente darkleo es con la función replace.

Pero por lo que veo, quieres que se remplacen las palabras que contengan c_basico128k_arm
pudiendo ser múltiples valores como c_basico128k_arm_a o c_basico128k_arm_b etc.
Acabo de hacer unas pruebas y parece funcionar.
Prueba esto y nos cuentas:
Código mysql:
Ver original
  1. SELECT REPLACE(ScopeName, if(substring(ScopeName,1,17)='pc_basico128k_arm',ScopeName,'"#$%&'),'pc_basico512k_mex') FROM disp_ips;

Donde substring toma las 17 letras que representan pc_basico128k_arm y las pasa a replace únicamente cuando se cumple la condición.
Los caracteres extraños, son digitos que nunca se esperan encontrar para que no altere los otros resultados.
Nos cuentas como te va.
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #10 (permalink)  
Antiguo 13/05/2009, 16:05
Avatar de darkleo  
Fecha de Ingreso: octubre-2007
Mensajes: 106
Antigüedad: 16 años, 6 meses
Puntos: 0
De acuerdo Respuesta: suma de datos especificos

listo huesos52, funciona de maravilla, realice la consulta en mysql y de una !!! muchas gracias, q pena soy muy novato en este cuento, pero como haría para imprimir con esta consulta nueva, aqui el codigo q empleo
Código PHP:
$disp_ip = "SELECT * FROM `disp_ips` WHERE ScopeName  LIKE '%arm%' ORDER BY ScopeName";

$resIP = mysql_query($disp_ip, $conexion) or die(mysql_error());
$totIP = mysql_num_rows($resIP);
<html>
<head>
<?php
$sql 
'SELECT REPLACE(ScopeName, if(SUBSTRING(ScopeName,1,17)=\'pc_basico128k_arm\',ScopeName,\'"#$%&\'),\'pc_basico512k_mex\') FROM disp_ips;';
if (
$totIP0) {
    while (
$rowIP mysql_fetch_assoc($resIP)) {
        echo 
"<TR>";
                
#echo "<strong>".$rowIP['boca']."</strong><br>"; 
                 
echo "<TD>".$rowIP['SubnetMask']."</TD>";
                 echo 
"<TD>".$rowIP['ScopeName']."</TD>";
                 echo 
"<TD>".$rowIP['%Free']."</TD>";
                 echo 
"<TD>".$rowIP['TotalDynamic']."</TD>";
                 echo 
"<TD>".$rowIP['TotalReserved']."</TD>";
                 echo 
"<TD>".$rowIP['Leased']."</TD>";
                 echo 
"<TD>".$rowIP['Avail']."</TD>";         
        echo 
"</TR>";

    }echo 
"<p><a href=disponibilidad.html>Volver</p> \n"
}
else {

echo 
"<p>¡No se ha encontrado ningún registro!</p>\n";

echo 
"<p><a href=disponibilidad.html>Volver</p> \n";


?>
</table>
Muchas gracias por la gran colaboración y por la paciencia !!!!!!
__________________
Just LeO
  #11 (permalink)  
Antiguo 13/05/2009, 16:14
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: suma de datos especificos

De nada darkleo.

A la cosnulta debes ponerle un alias para poder acceder desde php.
Cuando termina la función replace, pones el alias así:

Código mysql:
Ver original
  1. select replace(...todo el contenido...) as remplazo from disp_ips;

Desde php lo accedes con

Código php:
Ver original
  1. $rowIP['remplazo'];

Darkleo, para una próxima oportunidad te recomiendo no degradar los temas con múltiples preguntas diferentes del tema.
Si la pregunta es totalmente diferente a la inicial, es recomendable abrir un nuevo post. Así se conserva el orden en el foro.

Un saludo y me alegra que ya funcione.
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #12 (permalink)  
Antiguo 13/05/2009, 16:46
Avatar de darkleo  
Fecha de Ingreso: octubre-2007
Mensajes: 106
Antigüedad: 16 años, 6 meses
Puntos: 0
Respuesta: suma de datos especificos

de nuevo huesos52, muchas gracia me sirvio de grandisima ayuda, super teso !!!!!!
__________________
Just LeO
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 00:59.