计算在mysql中排序的列次数

时间:2014-03-04 04:43:45

标签: php mysql sql

我们正在使用一个表,该表具有客户订购的每个SKU的列。因此,如果五个不同的客户订购了特定的SKU,它将出现5次。此外,一些客户可能会订购2个该SKU,因此在它旁边的'number_ordered'列中,会有一个2.我不太擅长用文字绘制这个,所以我将举例说明数据库是什么看起来像。

+------------+-----------------+
| item_SKU   |  Number Ordered |
+------------+-----------------+
| SKU001     |  3              |
| SKU001     |  2              |
| SKU002     |  15             |
| SKU003     |  1              |
+------------+-----------------+

如何通过订购的数量对sku进行计时,然后将它们全部添加到MySQL中。我需要把它放到PHP中,但如果我得到一些关于如何做到这一点的提示,我可以这样做。

干杯

6 个答案:

答案 0 :(得分:0)

使用此选项可获取相同item_SKU的总订购商品,并在PHP中使用该商品。如果您还需要订单计数,请使用COUNT()功能

SELECT item_SKU, SUM(Number_Ordered) as Total_Ordered_Item, COUNT(Number_Ordered) as Total_Order_Count
FROM table
GROUP BY item_SKU

答案 1 :(得分:0)

尝试使用sku名称(SKU001)对group进行计数。它返回一个具有不同sku的计数的输出。

答案 2 :(得分:0)

尝试以下SQL查询

1.订单总数

select item_SKU,sum(number_ordered) as orders from `table Name` group by item_SKU order by item_SKU

<强>输出

item_SKU  | Number Ordered
SKU001    | 5
SKU002    | 15
SKU003    | 1

<强> 2。查询以计算订单数

select item_SKU,count(number_ordered) as orders from `table Name` group by item_SKU order by item_SKU

<强>输出

item_SKU  | Number Ordered
SKU001    | 2
SKU002    | 1
SKU003    | 1

答案 3 :(得分:0)

尝试此查询:

SELECT item_SKU,
COUNT(item_SKU) CNT,SUM(Number_Ordered) TOTAL 
FROM TABLE1 GROUP BY item_SKU; 

SQL Fiddles

答案 4 :(得分:0)

选择item_SKU,SUM(NumberOrdered)作为[table name] group by item_SKU

的总和

答案 5 :(得分:0)

试试这个。它给出的总数不是“COUNT”,而number_ordered的总和为“SUM_NUM_ORDER”

SELECT item_SKU,COUNT(item_SKU) as COUNT,SUM(Number_Ordered) as SUM_NUM_ORDER FROM TABLE1 GROUP BY item_SKU; 

DEMO:http://sqlfiddle.com/#!2/9ec2b9/10