MYSQL cómo seleccionar datos donde un campo tiene un valor mínimo

Por favor, quiero seleccionar datos de una tabla, donde un campo específico tiene el valor mínimo, lo he intentado:

SELECT * FROM pieces where min(price) 

No soy bueno con MySQL, ¿me puede ayudar? Gracias

esto le dará un resultado que tiene el precio mínimo en todos los loggings.

 SELECT * FROM pieces WHERE price = ( SELECT MIN(price) FROM pieces ) 
  • Demostración de SQLFiddle

Así es como lo haría (suponiendo que entiendo la pregunta)

 SELECT * FROM pieces ORDER BY price ASC LIMIT 1 

Si está intentando seleccionar varias filas en las que cada una de ellas puede tener el mismo precio (que es el mínimo), entonces la respuesta de @ JohnWoo debería ser suficiente.

Básicamente, aquí estamos simplemente orderando los resultados por el precio en order ASCENDING (aumentando) y tomando la primera fila del resultado.

Use TENER MIN (…)

Algo como:

 SELECT MIN(price) AS price, pricegroup FROM articles_prices WHERE articleID=10 GROUP BY pricegroup HAVING MIN(price) > 0; 

Esto también funciona:

 SELECT pieces.* FROM pieces inner join (select min(price) as minprice from pieces) mn on pieces.price = mn.minprice 

(Dado que esta versión no tiene una condición where con una subconsulta, podría usarse si necesita ACTUALIZAR la tabla, pero si solo necesita SELECCIONAR, le recomendaría usar la solución de John Woo)

De hecho, depende de lo que quiera get: – Solo el valor mínimo:

 SELECT MIN(price) FROM pieces 
  • Una tabla (filas múltiples) con el valor mínimo: Es como lo dijo John Woo arriba.

  • Pero, si pueden ser diferentes filas con el mismo valor mínimo, lo mejor es PEDIRlas desde otra columna, porque después o después tendrá que hacerlo (comenzando por John Woo Answere):

    SELECCIONAR * DESDE piezas DONDE precio = (SELECCIONAR MIN (precio) DESDE piezas) SOLICITAR POR ACCIÓN ASC

Para hacerlo más simple

SELECCIONAR *, MIN (precio) FROM prod LIMIT 1

  • Pon * para que muestre el logging del valor mínimo