Я хочу выбрать строку, которая имеет наибольшее значение в столбце «цена» из тех, которые удовлетворяют условию.
Использование MAX (), как показано ниже, не работает для меня, поскольку оно проверяет самое высокое абсолютное значение этого столбца.
"SELECT * FROM parts_list WHERE " . (implode(' = 1 AND ', $utilization)) . " = 1 AND (part_price = (SELECT MAX(part_price) FROM parts_list))"
Я только хочу, чтобы он выбрал тот, который имеет наибольшее значение для ‘part_price’ из тех, которые полностью заполнены:
. (implode(' = 1 AND ', $utilization)) . " = 1
Вы можете сначала ORDER BY part_price DESC
а затем использовать TOP 1
чтобы получить только первый ряд.
Спустя всего 2 минуты после того, как я отправил, у меня была идея:
"SELECT MAX(part_price) * FROM parts_list WHERE " . (implode(' = 1 AND ', $utilization)) . " = 1 AND (part_price = (SELECT MAX(part_price) FROM parts_list WHERE ".implode(' = 1 AND ', $utilization)." = 1))");