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

Sumar resultados de una consulta

Estas en el tema de Sumar resultados de una consulta en el foro de Mysql en Foros del Web. Hola a todos, me ah surgido una duda pero la verdad no se me ocurre como hacerlo. Resulta que voy a guarda una lista de ...
  #1 (permalink)  
Antiguo 18/01/2010, 10:31
Avatar de tampon  
Fecha de Ingreso: julio-2009
Mensajes: 420
Antigüedad: 15 años, 4 meses
Puntos: 0
Sumar resultados de una consulta

Hola a todos, me ah surgido una duda pero la verdad no se me ocurre como hacerlo.

Resulta que voy a guarda una lista de datos en un tabla, los datos se pueden repetin "X" numero de veces, lo que necesitaria saber es cuantas veces esta un dato registrado y asi cada dato, si esta registrado una vez que me di imprima 1, si esta registrado 15 veces que me imprima 15 y asi..

No son datos numericos, son claves alfanumericas de 5 a 10 digitos, como puedo realizar esto? alguien que alla visto un ejemplo similar en alguna web?

gracias saludos.
  #2 (permalink)  
Antiguo 18/01/2010, 10:43
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 9 meses
Puntos: 360
Respuesta: Sumar resultados de una consulta

haz probado con count y group by?

Código MySQL:
Ver original
  1. mysql> select *from repetidos;
  2. +--------+
  3. | claves |
  4. +--------+
  5. | ab     |
  6. | ab     |
  7. | ab     |
  8. | ac     |
  9. | ac     |
  10. | ad     |
  11. | af     |
  12. | af     |
  13. | af     |
  14. | af     |
  15. | af     |
  16. | af     |
  17. | af     |
  18. | af     |
  19. | af     |
  20. | af     |
  21. | af     |
  22. | af     |
  23. | af     |
  24. | af     |
  25. | af     |
  26. | af     |
  27. | af     |
  28. | af     |
  29. | af     |
  30. | af     |
  31. | af     |
  32. | af     |
  33. | af     |
  34. | af     |
  35. | af     |
  36. | af     |
  37. | af     |
  38. | af     |
  39. | af     |
  40. | af     |
  41. | af     |
  42. | af     |
  43. | af     |
  44. | af     |
  45. | ad     |
  46. +--------+
  47. 41 rows in set (0.00 sec)
  48.  
  49. mysql> select claves,count(claves) conteo from repetidos group by claves;
  50. +--------+--------+
  51. | claves | conteo |
  52. +--------+--------+
  53. | ab     |      3 |
  54. | ac     |      2 |
  55. | ad     |      2 |
  56. | af     |     34 |
  57. +--------+--------+
  58. 4 rows in set (0.00 sec)
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #3 (permalink)  
Antiguo 18/01/2010, 11:43
Avatar de tampon  
Fecha de Ingreso: julio-2009
Mensajes: 420
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: Sumar resultados de una consulta

Hola huesos, no conocia esas funciones las voy a probar y luego comento.

saludos.
  #4 (permalink)  
Antiguo 21/01/2010, 14:28
Avatar de tampon  
Fecha de Ingreso: julio-2009
Mensajes: 420
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: Sumar resultados de una consulta

Hola de nuevo, me surgio una duda en cuanto este ejemplo, pero antes de intentar imprimir el numero de veces quje se encuentra en la tabla quise intentar sumar otra columna, pasra asi poder mostrar la suma del resultado agrupado y ya despues mostrar la cantidad de conincidencias.

pero tengo un problema al mostrar la suma de la columna, esta es la sintaxis:

Código PHP:
Ver original
  1. $result = mysql_query("SELECT moneda,SUM(pago) FROM REGISTROS GROUP BY moneda");
  2.  
  3. echo "<table border='1'>
  4. <tr>
  5. <th>Deposito</th>
  6. <th>Moneda</th>
  7. </tr>";
  8.  
  9. while($row = mysql_fetch_array($result))
  10.   {
  11.   echo "<tr>";
  12.   echo "<td>" . $row['pago'] . "</td>";
  13.   echo "<td>" . $row['moneda'] . "</td>";
  14.   echo "</tr>";
  15.   }
  16. echo "</table>";

No me muestra el resultado de la suma
  #5 (permalink)  
Antiguo 21/01/2010, 14:55
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 9 meses
Puntos: 360
Respuesta: Sumar resultados de una consulta

prueba esto

Código PHP:
Ver original
  1. $result = mysql_query("SELECT moneda,SUM(pago) suma_pago FROM REGISTROS GROUP BY moneda");
  2.  
  3. echo "<table border='1'>
  4. <tr>
  5. <th>Deposito</th>
  6. <th>Moneda</th>
  7. </tr>";
  8.  
  9. while($row = mysql_fetch_array($result))
  10.   {
  11.   echo "<tr>";
  12.   echo "<td>" . $row['suma_pago'] . "</td>";
  13.   echo "<td>" . $row['moneda'] . "</td>";
  14.   echo "</tr>";
  15.   }
  16. echo "</table>";

Me disculpan los moderadores por poner codigo php, pero la solución creo está en poner el alias a la consulta
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #6 (permalink)  
Antiguo 21/01/2010, 14:58
Avatar de tampon  
Fecha de Ingreso: julio-2009
Mensajes: 420
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: Sumar resultados de una consulta

Ah muy bien gracias, ahora se que devo poner alias, mil gracias.

---

Pues que bacan de tu parte amigo huesos52, gracias a tu ayuda pude terminar lo que intetaba hacer.

dejo la sintaxis por si a alguien le sirve mas adelante.

Saludos.

Código PHP:
Ver original
  1. $result = mysql_query("SELECT *,moneda,count(moneda) conteo, moneda,SUM(pago) total FROM REGISTROS GROUP BY articulo ORDER by conteo DESC LIMIT 5");
  2.  
  3. echo "<table border='1'>
  4. <tr>
  5. <th>Registros</th>
  6. <th>Articulo</th>
  7. <th>Deposito</th>
  8. <th>Moneda</th>
  9. </tr>";
  10.  
  11. while($row = mysql_fetch_array($result))
  12.   {
  13.   echo "<tr>";
  14.   echo "<td>" . $row['conteo'] . "</td>";
  15.   echo "<td>" . $row['articulo'] . "</td>";
  16.   echo "<td>" . $row['total'] . "</td>";
  17.   echo "<td>" . $row['moneda'] . "</td>";
  18.   echo "</tr>";
  19.   }
  20. echo "</table>";
  21.  
  22. ?>

Y disculpa quise darte karma pero me dice que le tengo que dar primero a alguien mas, sera para la proxima.

Última edición por tampon; 21/01/2010 a las 17:28
  #7 (permalink)  
Antiguo 26/01/2010, 17:04
Avatar de tampon  
Fecha de Ingreso: julio-2009
Mensajes: 420
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: Sumar resultados de una consulta

Disculpen por revivir el tema, pero tengo una ultima consulta que hacer y me parecio referente al teman y no quise habrir un nuevo topic.

Como hago para que estas mismas consultas me las agrupe por mes? osea que me de los mismos resultados pero agrupados, enero febrero etc.. en la misma consulta.
  #8 (permalink)  
Antiguo 26/01/2010, 22:35
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 9 meses
Puntos: 360
Respuesta: Sumar resultados de una consulta

como tienes el campo fecha?

te serviría así?

group by month(fecha);
?
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #9 (permalink)  
Antiguo 27/01/2010, 01:45
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 7 meses
Puntos: 300
Respuesta: Sumar resultados de una consulta

una advertencia: si tienes datos de más de un año deberías hacerlo con
group by year(fecha), month(fecha)

piensa que un mes, es un mes de un año, y si tienes datos de dos años en el mismo mes, los presentaría juntos de no hacer esto.
  #10 (permalink)  
Antiguo 27/01/2010, 06:30
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 9 meses
Puntos: 360
Respuesta: Sumar resultados de una consulta

Totalmente cierto jurena.
se me pasó.
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #11 (permalink)  
Antiguo 27/01/2010, 10:08
Avatar de tampon  
Fecha de Ingreso: julio-2009
Mensajes: 420
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: Sumar resultados de una consulta

Muy bien gracias a ambos por el dato, el formato de la fecha se esta guardando en este formato: 2009-11-22 14:00:00

lo intento y luego comento.

---


Bueno ya lo intente pero no logre lo que intento, lo que quiero es sumar los cantidades de una columna y mostrarlas pero agrupar los resultados similares y aparte de eso separarlos por meces y como comento jurena tambien por año.

Pero no eh podido mostrar el resultado asi, solo me aparecen 3 fechas distintas cuando hay mas en la base de datos, y aparte mostrar la fecha en formato mes, año, pero me lo esta dando como esta en la tabla.

asi es como intento mostrar la tabla (claro pero cambiando el formato de la fecha)



y este es mi codigo, pero ya me quede atorado con el.

Código PHP:
Ver original
  1. $result = mysql_query("SELECT *,medio,SUM(cantidad) conteo FROM REGISTROS GROUP BY year(registrado), month(registrado)");
  2.  
  3.  
  4. echo "<table><thead><tr><th></th><th>PayPal</th><th>Mercado Pago</th><th>SMS</th><th>Deposito Bancario</th></tr></thead>";
  5.  
  6. while($row = mysql_fetch_array($result))
  7.   {
  8.   echo "<tbody><tr>";
  9.     echo "<th>" . $row['registrado'] . "</th>";
  10.   echo "<th>" . $row[''] . "</th>";
  11.   echo "<td>" . $row[''] . "</td>";
  12.   echo "<td>" . $row[''] . "</td>";
  13.   echo "<td>" . $row[''] . "</td>";
  14.   echo "</tr></tbody>";
  15.   }
  16. echo "</table>";
  17.  
  18. ?>

tal vez alguein me pueda echar una mano.

gracias.

Última edición por tampon; 27/01/2010 a las 12:01

Etiquetas: resultados
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 13:51.