Как я могу выбрать столбец1 (тип) и столбец2 (цена), но только один столбец1 (тип)?Как выбрать столбец1 и столбец2, но только один столбец1
<?php
$query ="SELECT type , price FROM products ORDER BY type , price";
?>
Как я могу выбрать столбец1 (тип) и столбец2 (цена), но только один столбец1 (тип)?Как выбрать столбец1 и столбец2, но только один столбец1
<?php
$query ="SELECT type , price FROM products ORDER BY type , price";
?>
вы можете использовать GROUP BY
SELECT type , price FROM products GROUP BY type ORDER BY type , price
^^^^^^^^^^^^----this will select distinct type
Использование GROUP BY
.
SELECT type, price
FROM products
GROUP BY type
ORDER BY type
Это не строго правовой SQL, поскольку GROUP BY
обычно требует, чтобы все не сгруппированные столбцы будут функции агрегирования, но MySQL позволяет это как расширение. Он выберет произвольное price
из всех строк с тем же type
.
Нет смысла ставить price
в статью ORDER BY
. Второй столбец упорядочения используется только тогда, когда есть строки с одним и тем же первым столбцом, но так как мы делаем type
различимыми, которые никогда не могут произойти.
Вам понадобится GROUP BY
column1 вместо использования DISTINCT
. Вам также нужно будет использовать агрегатную функцию по цене.
Список агрегатов для MySql здесь: GROUP BY (Aggregate) Functions
например Для того, чтобы получить все различные типы со средним использованием цен:
SELECT type, AVG(price) FROM products GROUP BY type ORDER BY type
Если не нужно агрегировать цену каким-то образом, то вы, вероятно, лучше оставить его, так как даже если MySql будет возвращать что-то это ISN В любом случае, это будет предсказуемое значение.
Было бы полезно, если бы вы предоставили небольшое количество выборочных данных вместе с желаемым результатом. –