У меня есть две таблицы:MySQL низкий и самое высокое значение с присоединиться
mysql> SELECT * FROM master_products; +----+-------+ | id | name | +----+-------+ | 1 | row1 | | 2 | row2 | | 3 | row3 | | 4 | row4 | +----+-------+
И
mysql> SELECT * FROM products; +----+---------+-------+ | id | masterid | cost | +----+---------+-------+ | 1 | 1 | 1000 | | 2 | 1 | 1050 | | 3 | 2 | 1020 | | 4 | 2 | 999 | | 4 | 3 | 899 | +----+-------+---------+
Я хочу, чтобы выбрать все изделия из главной таблицы с самой высокой и самой низкой стоимостью от продукта table, но когда я использую mysql min, функция max, то она не возвращает все продукты, вот мой запрос:
SELECT master_products.id, имя, MIN (стоимость) AS LowestCost, MAX (стоимость) AS HighestCost FROM master_products JOIN product
ON product
. masterid
= master_products
. id
Есть ли способ получить это по одному запросу? желаемый результат:
+----+------------+------------+--------------+ | id | name | LowestCost | HighestCost | +----+-------------+------------+--------------+ | 1 | row1 | 1000 | 1050 | | 2 | row2 | 999 | 1020 | | 3 | row3 | 899 | 899 | | 4 | row4 | NA | NA | +----+-------+-----------+------+--------------+
Try добавить 'GROUP BY id' в конце запроса – Epodax
Извините, но почему«он не возвращает все продукты «? В вашем примере я вижу, что все цены на продукцию в правильном порядке. Можете ли вы объяснить больше - где проблема? –
@VladimirGilevich Это его «желаемый» выход без фактического вывода – Christian