Ver Mensaje Individual
  #14 (permalink)  
Antiguo 15/12/2009, 11:15
Avatar de Mcruzmx
Mcruzmx
 
Fecha de Ingreso: abril-2006
Mensajes: 357
Antigüedad: 18 años
Puntos: 9
Respuesta: ayuda con group by y sumar

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Esta sería una opción:
Código MySQL:
Ver original
  1.    C.nombre, SUM(IF(c.fruta=1, 1, 0)) Manzanas,
  2.    SUM(IF(c.fruta=2, 1, 0)) Peras,
  3.    COUNT(c.fruta) `Total Frutas`
  4. FROM clientes C INNER JOIN frutas F ON C.fruta = F.clave
  5. WHERE F.clave IN (1, 2)
  6. GROUP BY c.nombre;
IF(condicion, verdadero, falso), devuelve verdadero si la condicion es TRUE, sino devuelve falso.
SUM() suma los valores indicados, donde el valore devuelto no sea NULL. En este caso va sumando 1 ó 0, contando las alternativas.
COUNT() cuenta todos los valores no NULL de un campo.
INNER JOIN devuelve sólo los registros que coincidan en la condición ON.
Los alias son precisamente eso: Alias de un nombre de base de datos, de tabla o de campo, puestos sea para cambiar el encabezado devuelto, para que sea útil, o bien para reducir la longitud de las sentencias haciendo más clara y comprensible la escritura. Originalmente requerían la cláusulas AS para indicar el alias. Actualmente es opcional. El sólo poner una palabra a continuación es suficiente.

Atención: Los alias de los campos no pueden ser usados para referirse a ellos en la cláusula WHERE.


wow que respuesta tan buena, pero sabes hay algo que no entiendo:

WHERE F.clave IN (1, 2)

para que y en que forma usas eso y todos sus argumentos? gracias.