Usar la función agregada MIN() es redundante cuando estás haciendo una agrupación. Los resultados pueden ser erráticos.
Cuando haces un ORDER BY eso hace que se ordenen según un criterio, pero ese criterio es en este caso el de sólo un campo:
Código sql:
Ver originalSELECT precioofertado, numeropresupuesto, codigomodelo
FROM presupuestosofertados
ORDER BY precioofertado;
Y en realidad debes ordenar por precioofertado y codigomodelo.
Código sql:
Ver originalSELECT precioofertado, numeropresupuesto, codigomodelo
FROM presupuestosofertados
ORDER BY precioofertado DESC, codigomodelo ASC;
De esa forma aparecerán agrupados por código y ordenados por el precio. Una vez q ue has logrado eso notarás que el precio menor queda arriba; pues bien, si haces un agrupamiento por el código, notarás que los restantes desaparecen, porque estas haciendo una acumulación de registros sobre el mismo valor, pero debes hacerlo como sbconsulta
Código sql:
Ver originalSELECT precioofertado, numeropresupuesto, codigomodelo
FROM
(SELECT precioofertado, numeropresupuesto, codigomodelo
FROM presupuestosofertados
ORDER BY precioofertado ASC codigomodelo DESC) T1
GROUP BY codigomodelo;