huesos52 entendió mejor el valor de precio de compra precio_com, que, por lo que se ve es el precio de cada producto y no el acumulado en cada compra. Por lo tanto te valdrá su consulta y esta otra:
Código sql:
Ver originalSELECT dcv.codpro, round( (
SUM( dcv.precio_com * dcv.cantidad ) / SUM( dcv.cantidad ) ) , 2
) AS promedio
FROM det_com_venta dcv
INNER JOIN (
SELECT DISTINCT codpro
FROM det_com_venta
ORDER BY codventa DESC
LIMIT 10
)t1 ON t1.codpro = dcv.codpro
GROUP BY dcv.codpro
y si quieres el 1
Código sql:
Ver originalSELECT dcv.codpro, round( (
SUM( dcv.precio_com * dcv.cantidad ) / SUM( dcv.cantidad ) ) , 2
) AS promedio
FROM det_com_venta dcv
INNER JOIN (
SELECT DISTINCT codpro
FROM det_com_venta
ORDER BY codventa DESC
LIMIT 10
)t1 ON t1.codpro = dcv.codpro WHERE dcv.codpro=1
GROUP BY dcv.codpro
Las únicas diferencias con las de huesos52 son que la sintaxis que te propongo te permite sacar los valores de todos los productos de las últimas 10 compras, y que, además, te mostrará el codpro. Aunque si lo que quieres es la media (ya sabes qué codpro tienes), quizás la más rápida es la de huesos52.
Saludos a los dos, amigos.