同じ列にGROUP BYとDISTINCTを使用しますユニークなアイテムの購入額これは私が持っているもので達成されます。私はこれを一歩一歩踏み出し、各顧客に最も人気のあるアイテムを選択したいと考えています。これは一番上に購入したアイテムが多い順に並べられているので、の隣にcustomers.customerId
を追加して、select
のステートメントに重複を削除しなければならないと考えました。しかし、distinct
を追加すると何もしないようです。 distinct
がここで何もしていない理由を知ってくれて助けてくれてありがたく思っていますが、私がやろうとしていることを達成する方法もあります。MySQLは、私が現在と同様のクエリを持って
テーブル:
customers
customerId | name
1 | John
2 | Jane
orders
orderId | customerId | quantity | itemId
1 | 1 | 11 | 1
2 | 2 | 13 | 2
3 | 1 | 4 | 2
4 | 2 | 14 | 1
5 | 1 | 1 | 1
items
itemId | itemName
1 | dog
2 | cat
そのため、このデータから、現在のクエリは次のように返します。
customerId | itemName | boughtTotal
2 | dog | 14
2 | cat | 13
1 | dog | 12
1 | cat | 4
そして、何私がしたいのですが、次のされています
customerId | itemName | boughtTotal
2 | dog | 14
1 | dog | 12
結果セットで – Sinto
のJOIN ONに1つの以上の条件を追加し、顧客2のための2つのラインは異なりますので、「明確な」は何もしません。あなたが書いた質問は、あなたが発見したときにあなたの望む結果を与えるものではありません。 –
最大量レコードを選択するサブクエリとともに 'having'節を使用します。 – CuriousMind