MySQL - 查找和计算重复项(数量)

时间:2014-03-13 15:20:31

标签: mysql count find duplicates

我的购物车桌上有些麻烦。我创建了一个看起来像这样的表:

SQL Fiddle

我的问题是,我希望能够选择产品ID,并计算产品ID在表格中重复的次数,以便我可以显示用户在购物车中有多少件商品。

查找如下所示的输出结果:

| user_id | product_id | num of prodcuts|
-----------------------------------------
|   12    |     43     |        3       |
|   12    |     51     |        1       |
|   21    |     39     |        2       |
|   17    |     41     |        1       |

所以我想选择product_id并在一个查询中计算它,我不知道如何做到这一点所以我真的很感激一些帮助。

4 个答案:

答案 0 :(得分:3)

select user_id, product_id, count(product_id) as num_of_prod 
from cart
group by user_id, product_id

http://sqlfiddle.com/#!2/4f023/12

答案 1 :(得分:1)

查询:

SELECT user_id,product_id,count(*) AS amount
FROM cart
GROUP BY product_id;

答案 2 :(得分:1)

要选择所有产品并计算您可以使用的cart_iduser_id的无法使用的数量:

SELECT *, COUNT(*) AS num_products FROM cart GROUP BY user_id, product_id;

如果您需要更具体或量身定制的产品,请与我们联系。

答案 3 :(得分:0)

SELECT 
    user_id, 
    product_id, 
    count(*) AS 'num of prodcuts' 
FROM 
    cart 
GROUP BY 
    product_id, 
    user_id 
ORDER BY 
    user_id