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

Consulta Mysql

Estas en el tema de Consulta Mysql en el foro de Mysql en Foros del Web. Hola. tengo una tabla con los siguientes campos idzona resultado --------- ------------- 2 1 3 0 2 0 4 1 nesecitto agrupar de esta manera, ...
  #1 (permalink)  
Antiguo 17/02/2011, 07:35
 
Fecha de Ingreso: mayo-2010
Mensajes: 49
Antigüedad: 14 años
Puntos: 1
Consulta Mysql

Hola. tengo una tabla con los siguientes campos

idzona resultado
--------- -------------
2 1
3 0
2 0
4 1


nesecitto agrupar de esta manera, que cuente los resultado 1 y 0 por zona

idzona Resultado1 Resultado0
--------- ----------------- ----------------
2 1 1
3 0 1
4 1 0

me podrian ayudar con el query


de Antemano GRACIAS
  #2 (permalink)  
Antiguo 17/02/2011, 08:08
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Consulta Mysql

Select idzona,resultado,count(*) as numero from nombretabla group by idzona,resultado;
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.
  #3 (permalink)  
Antiguo 17/02/2011, 09:10
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 4 meses
Puntos: 447
Respuesta: Consulta Mysql

Hola J0rg3M4r10:

Según lo que entendí la respuesta que te da el compañero quimfv no te sirve, ya que la salida de la consulta es muy diferente a lo que pides. Prueba con esto:

Código:
#Utilizando IF
select 
idzona, 
sum(if(resultado = 1, 1, 0)) as Resultado1,
sum(if(resultado = 0, 1, 0)) as Resultado0
from TuTabla group by idzona;

#Utilizando CASE-WHEN
select 
idzona, 
sum(case when resultado = 1 then 1 else 0 end) as Resultado1,
sum(case when resultado = 0 then 1 else 0 end) as Resultado0
from TuTabla group by idzona;


Código MySQL:
Ver original
  1. mysql> create table TuTabla (idzona int, resultado int);
  2. Query OK, 0 rows affected (0.06 sec)
  3.  
  4. mysql> insert into TuTabla values (2, 1), (3, 0), (2, 0), (4, 1);
  5. Query OK, 4 rows affected (0.03 sec)
  6. Records: 4  Duplicates: 0  Warnings: 0
  7.  
  8. mysql> select * from TuTabla;
  9. +--------+-----------+
  10. | idzona | resultado |
  11. +--------+-----------+
  12. |      2 |         1 |
  13. |      3 |         0 |
  14. |      2 |         0 |
  15. |      4 |         1 |
  16. +--------+-----------+
  17. 4 rows in set (0.00 sec)
  18.  
  19. mysql> select
  20.     -> idzona,
  21.     -> sum(if(resultado = 1, 1, 0)) as Resultado1,
  22.     -> sum(if(resultado = 0, 1, 0)) as Resultado0
  23.     -> from TuTabla group by idzona;
  24. +--------+------------+------------+
  25. | idzona | Resultado1 | Resultado0 |
  26. +--------+------------+------------+
  27. |      2 |          1 |          1 |
  28. |      3 |          0 |          1 |
  29. |      4 |          1 |          0 |
  30. +--------+------------+------------+
  31. 3 rows in set (0.00 sec)
  32.  
  33. mysql>

La salida es exactamente igual a lo que pides.

Saludos
Leo.
  #4 (permalink)  
Antiguo 17/02/2011, 10:34
 
Fecha de Ingreso: mayo-2010
Mensajes: 49
Antigüedad: 14 años
Puntos: 1
Respuesta: Consulta Mysql

Muchisimas gracias a los 2, no saben cuanto estoy agradecido,
  #5 (permalink)  
Antiguo 18/02/2011, 02:01
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Consulta Mysql

Cierto mi resultado es el mismo pero sin tabular... lo siento no me lei bien tu pregunta.

Código MySQL:
Ver original
  1. #
  2. +--------+------------+------------+
  3. #
  4. | idzona | Resultado1 | Resultado0 |
  5. #
  6. +--------+------------+------------+
  7. #
  8. |      2 |          1 |          1 |
  9. #
  10. |      3 |          0 |          1 |
  11. #
  12. |      4 |          1 |          0 |
  13. #
  14. +--------+------------+------------+
  15.  
  16. #
  17. +--------+------------+------------+
  18. #
  19. | idzona | Resultado  |   numero   |
  20. #
  21. +--------+------------+------------+
  22. #
  23. |      2 |          0 |          1 |
  24. #
  25. |      2 |          1 |          1 |
  26. #
  27. |      3 |          0 |          1 |
  28. #
  29. |      4 |          1 |          1 |
  30. #
  31. +--------+------------+------------+
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.

Etiquetas: Ninguno
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 05:54.