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

Slect condicional

Estas en el tema de Slect condicional en el foro de Mysql en Foros del Web. Hola, Tengo la siguiente consulta: Código: SELECT * , count( turnos ) FROM `temporal` GROUP BY turnos Ahora quiero añadir una condicion al contar: Que ...
  #1 (permalink)  
Antiguo 22/05/2012, 01:56
 
Fecha de Ingreso: enero-2008
Mensajes: 303
Antigüedad: 16 años, 9 meses
Puntos: 0
Slect condicional

Hola,
Tengo la siguiente consulta:
Código:
SELECT * , count( turnos )
FROM `temporal`
GROUP BY turnos
Ahora quiero añadir una condicion al contar:
Que solo cuente los campos donde hay una determinada palabra, o bien, cuando sobrepase un numero de caracteres.

Gracias y un saludo
  #2 (permalink)  
Antiguo 22/05/2012, 07:48
Avatar de linuxzero  
Fecha de Ingreso: noviembre-2011
Ubicación: Argentina
Mensajes: 778
Antigüedad: 13 años
Puntos: 160
Respuesta: Slect condicional

Eso pertenece al foro de MySql pero te respondo igual, tenes que usar HAVING googlea en la doc de mysql como se usa la clausula
__________________
Si todo fuera tan sencillo como un symfony cc la vida seria más fácil.
http://phpnico.wordpress.com
  #3 (permalink)  
Antiguo 22/05/2012, 10:47
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Slect condicional

En ese caso hay que jugar con las condiciones del WHERE, por ejemplo:
Código MySQL:
Ver original
  1. SELECT * , COUNT(*) TotalCalculado
  2. FROM `temporal`
  3. WHERE campo = 'palabrabsucada' OR LENGTH(campo)> 5
  4. GROUP BY turnos
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #4 (permalink)  
Antiguo 22/05/2012, 11:58
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 10 meses
Puntos: 447
Respuesta: Slect condicional

Hola eurodoblon:

Complementando lo que dice el compañero gnzsoloyo acerca de filtrar la información, también puedes hacer uso de SUMAS CONDICIONALES para contabilizar los registros que cumplan con las condiciones que requieras. Checa este script:

Código MySQL:
Ver original
  1. mysql> SELECT * FROM tabla;
  2. +------+-----------+
  3. | id   | respuesta |
  4. +------+-----------+
  5. |    1 | si        |
  6. |    2 | si        |
  7. |    3 | no        |
  8. |    4 | si        |
  9. |    5 | no        |
  10. |    6 | no        |
  11. |    7 | no        |
  12. |    8 | si        |
  13. |    9 | si        |
  14. +------+-----------+
  15. 9 rows in set (0.00 sec)
  16.  
  17. mysql> SELECT
  18.     -> COUNT(respuesta) total,
  19.     -> SUM(IF(respuesta = 'si', 1, 0)) total_si,
  20.     -> SUM(IF(respuesta = 'no', 1, 0)) total_no
  21.     -> FROM tabla;
  22. +-------+----------+----------+
  23. | total | total_si | total_no |
  24. +-------+----------+----------+
  25. |     9 |        5 |        4 |
  26. +-------+----------+----------+
  27. 1 row in set (0.00 sec)

Utilizando el COUNT obtienes el total de respuestas capturadas... utilizando la combinación de SUM e IF cuentas cuantas respuestas con SI y NO hubo.

Saludos
Leo.
  #5 (permalink)  
Antiguo 22/05/2012, 12:09
 
Fecha de Ingreso: enero-2008
Mensajes: 303
Antigüedad: 16 años, 9 meses
Puntos: 0
Respuesta: Slect condicional

Muchas gracias por el aporte.
Un saludo

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 14:02.