我如何选择column1(type)和column2(price),但只选择column1(type)?
<?php
$query ="SELECT type , price FROM products ORDER BY type , price";
?>
答案 0 :(得分:2)
使用GROUP BY
。
SELECT type, price
FROM products
GROUP BY type
ORDER BY type
这不是严格合法的SQL,因为GROUP BY
通常要求所有非分组列都是聚合函数,但MySQL允许它作为扩展。它将从具有相同price
的所有行中选择任意type
。
将price
置于ORDER BY
条款中是没有意义的。第二个排序列仅在存在具有相同第一列的行时使用,但由于我们将type
区分开来,这是不可能发生的。
答案 1 :(得分:0)
您可以使用GROUP BY
SELECT type , price FROM products GROUP BY type ORDER BY type , price
^^^^^^^^^^^^----this will select distinct type
答案 2 :(得分:0)
您需要GROUP BY
column1而不是DISTINCT
。您还需要在价格上使用聚合函数。
MySql的聚合列表:GROUP BY (Aggregate) Functions
e.g。要以平均价格使用所有不同类型:
SELECT type, AVG(price) FROM products GROUP BY type ORDER BY type
如果您不需要以某种方式汇总价格,那么您可能最好将其遗漏,因为即使MySql将返回某些内容,它仍然不会是可预测的值