Ver Mensaje Individual
  #5 (permalink)  
Antiguo 01/05/2016, 14:25
elpapa60
 
Fecha de Ingreso: abril-2016
Mensajes: 3
Antigüedad: 8 años
Puntos: 0
Respuesta: problema con un avg group by y limit

ya esto lo encontre postiando y un usuario me dio el siguiente codigo Nacho Cabanes gracias lo conparto tal cual me lo dio este codigo no es de mi autoria solo lo comparto

Vale, creo que ahora sí lo entiendo.

Por una parte, te haría falta una subconsulta para obtener los 5 últimos datos de cada artículo, que supongo que sería algo como (suponiendo que hubiera algo como "fecha" que permitiera obtenerlos en orden);


Código MySQL:
Ver original
  1. SELECT articulo, valor
  2. FROM detalle_documento
  3.    SELECT count(*) FROM detalle_documento AS d
  4.    WHERE d.articulo = detalle_documento.articulo
  5.    AND d.fecha <= detalle_documento.fecha
  6. ) <= 5;



Y luego eso iría dentro de la consulta global con el "group by":


Código MySQL:
Ver original
  1. SELECT articulo, avg(valor)
  2. FROM ( ... ) AS subconsulta
  3. GROUP BY articulo


Sin tener los CREATE TABLE y algun INSERT de prueba, no puedo comprobar que funciona, pero la lógica debería acercarse a eso.

esto gracias al usuario Nacho Cabanes

espero te sirva