2017-06-16 107 views
-3

讓我告訴你一個來自我的問題的例子。
例如,我們有一個名爲(訂單)的表格,它將插入所有訂單併購買到此表格。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問題,任何教程都應該解釋如何去做。 SO不是做你功課的服務。 – Barmar

+0

我無法找到我的答案。這不是我的功課:)如果你不能幫我請。 –

回答

2

使用此:

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

查詢組相同的產品通過的ProductKey,總結合計賣出計數(1)的。 然後,按銷售的最高售出數量顯示結果。

+2

做或不​​做。沒有「嘗試」。一個好的答案***將總是解釋所做的事情以及爲什麼這樣做,不僅是爲了OP,還是爲了將來訪問SO。 –

+0

@JayBlanchard謝謝你的提示。我是新來的,在進一步的答覆中,我會遵循這一點。 –

+0

你應該修改*這個*迴應 - 不要等待未來。 –

-1

您可以使用ORDER BY關鍵字。

例子:

SELECT * FROM my Table ORDER BY numberSold DESC; 

欲瞭解更多信息:link