Ver Mensaje Individual
  #2 (permalink)  
Antiguo 30/06/2014, 14:03
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Obtener escalar y vector al mismo tiempo ?

Partamos de una base simple: Si aplicas el AVG sobre una tabla de productos, donde cada uno es único en la tabla, obviamente te devolverá sencillamente el precio de ese producto.
Es decir:
Código MySQL:
Ver original
  1. SELECT ProductName, AVG(Price) average
  2. FROM Products
  3. GROUP BY ProductName;
Si cada ProductName es único, no habrá ningún promedio, sería igual a price/1.
Sólo tiene sentido usar una función de agregación si se agrupa en conjuntos de 1...N elementos, donde se pueda hacer una división del tipo X/N. De lo contrario devolverá los valores únicos.

Así como está planteada, sólo podría devolverte el promedio total de todos los precios, mas el precio de cada producto si usas WITH ROLLUP:
Código MySQL:
Ver original
  1. SELECT ProductName, AVG(Price) Price
  2. FROM Products
  3. GROUP BY ProductName WITH ROLLUP;
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)