2017-06-16 3 views
-3

私の質問から一例を教えてください。
たとえば、すべての注文と購入をこの表に挿入する(order)という名前の表があります。Mysqlがトップ製品を取得

表A(受注):

+--------------------------+ 
| CustomerKey | ProductKey | 
+--------------------------+ 
| 306545  | pro1  | 
| 597864  | pro3  | 
| 784678  | pro2  | 
| 905479  | pro3  | 
| 306545  | pro1  | 
| 348965  | pro3  | 
| 784678  | pro3  | 
+--------------------------+ 

私が注文し、私達のベストセラーの製品

クエリの出力を取得したいと思います:

+-------------------------------+ 
| id | ProductKey | numberSold | 
+-------------------------------+ 
| 1 | pro3  | 4   | 
| 2 | pro1  | 2   | 
| 3 | pro2  | 1   | 
+-------------------------------+  

私はそれをどのように行うことができますか?

+1

は、 'COUNT(*)'、 'GROUP BY'、および' ORDER BY'を使用してください。 – Barmar

+1

これは初心者のSQLの質問です。どのチュートリアルでもその方法を説明する必要があります。あなたの宿題をするためのサービスではありません。 – Barmar

+0

私の答えは見つかりません。これは私の宿題ではありません:)もしあなたが私を助けてくれないのです.. –

答えて

2
この

使用:のProductKeyによって

select ProductKey, count(1) as numberSold from A group by ProductKey order by count(1) desc 

クエリグループ同じ製品と販売数(1)の合計を合計します。 次に、販売された最大販売数で注文された結果を表示します。

+2

実行するかしないか。 「試行」はありません。 ***良い答え***は、何が行われたのか、それがなぜOPのためだけでなく、将来の訪問者のためにそうした方法で行われたのかについての説明を常に持っています。 –

+0

@JayBlanchardあなたのヒントありがとうございます。私はSOの新しいです、そして私はこれを続けるつもりです。 –

+0

* this *レスポンスも修正する必要があります。将来を待たないでください。 –

-1

これにはORDER BYキーワードを使用できます。

例:詳細情報については

SELECT * FROM my Table ORDER BY numberSold DESC; 

link

関連する問題