Mysql获得*产品

问题描述:

让我告诉你一个来自我的问题的例子。
例如,我们有一个名为(订单)的表格,它将插入所有订单并购买到此表格。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

我无法找到我的答案。这不是我的功课:)如果你不能帮我请。 –

使用此:

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

查询组相同的产品通过的ProductKey,总结合计卖出计数(1)的。 然后,按销售的最高售出数量显示结果。

+2

做或不​​做。没有“尝试”。一个好的答案***将总是解释所做的事情以及为什么这样做,不仅是为了OP,还是为了将来访问SO。 –

+0

@JayBlanchard谢谢你的提示。我是新来的,在进一步的答复中,我会遵循这一点。 –

+0

你应该修改*这个*回应 - 不要等待未来。 –

您可以使用ORDER BY关键字。

例子:

SELECT * FROM my Table ORDER BY numberSold DESC; 

欲了解更多信息:link