Intereting Posts

MYSQL, как выбрать данные, где поле имеет минимальное значение

Пожалуйста, я хочу выбрать данные из таблицы, где определенное поле имеет значение min, я пробовал это:

SELECT * FROM pieces where min(price) 

Я плохо разбираюсь в MySQL, пожалуйста, помогите? благодаря

это даст вам результат, который имеет минимальную цену по всем записям.

 SELECT * FROM pieces WHERE price = ( SELECT MIN(price) FROM pieces ) 
  • Демоверсия SQLFiddle

Вот как я это сделаю (если я пойму вопрос)

 SELECT * FROM pieces ORDER BY price ASC LIMIT 1 

Если вы пытаетесь выбрать несколько строк, в которых каждая из них может иметь одинаковую цену (что является минимальным), тогда вам будет достаточно ответа от JohnWoo.

В основном здесь мы просто заказываем результаты по цене в порядке ASCending (увеличение) и принимаем первую строку результата.

Используйте HAVING MIN (…)

Что-то вроде:

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

Это также работает:

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

(поскольку эта версия не имеет условия where с подзапросом, ее можно использовать, если вам нужно ОБНОВИТЬ таблицу, но если вам просто нужно выбрать SELECT, я рекомендую использовать решение John Woo)

Фактически, зависит то, что вы хотите получить: – Просто значение min:

 SELECT MIN(price) FROM pieces 
  • Таблица (кратные строки) с минимальным значением: Как сказано выше, Джон Ву.

  • Но, если могут быть разные строки с одинаковым минимальным значением, лучшее из них ORDER их из другого столбца, потому что после или позже вам нужно будет это сделать (начиная с John Woo answere):

    SELECT * FROM pieces WHERE price = (SELECT MIN (цена) ОТ штук) ORDER BY stock ASC

Сделать это проще

SELECT *, MIN (цена) FROM prod LIMIT 1

  • Положите *, чтобы он отображал всю запись минимального значения