-1

column1(type) と column2(price) の両方を選択し、column1(type) のみを区別するにはどうすればよいですか?

<?php
$query ="SELECT type , price FROM products ORDER BY type , price";
?>
4

3 に答える 3

2

を使用しGROUP BYます。

SELECT type, price
FROM products
GROUP BY type
ORDER BY type

通常、グループ化されていないすべての列が集計関数である必要があるため、これは厳密には正当な SQL ではありませんGROUP BYが、MySQL では拡張機能として許可されています。price同じ を持つすべての行から任意のものを選択しますtype

条文を入れpriceても意味がありません。ORDER BY2 番目の並べ替え列は、同じ最初の列を持つ行がある場合にのみ使用されますが、type区別しているため、決して起こり得ません。

于 2013-06-27T19:06:10.087 に答える
0

あなたが使用することができますGROUP BY

SELECT type , price FROM products GROUP BY type ORDER BY type , price
                                  ^^^^^^^^^^^^----this will select distinct type

group by に関するいくつかのドキュメント

于 2013-06-27T19:04:57.777 に答える
0

GROUP BYを使用するのではなく、column1 を使用する必要がありますDISTINCT。また、価格に対して集計関数を使用する必要があります。

MySql の集計のリストはこちら: GROUP BY (集計) 関数

例: 平均価格を使用してすべての異なるタイプを取得するには:

SELECT type, AVG(price) FROM products GROUP BY type ORDER BY type

何らかの方法で価格を集計する必要がない場合は、MySql が何かを返したとしても予測可能な値にはならないので、省略したほうがよいでしょう。

于 2013-06-27T19:09:09.503 に答える