【问题标题】:How can i count every productID by using distinct and show it individually我如何通过使用 distinct 计算每个 productID 并单独显示
【发布时间】:2019-12-16 11:20:41
【问题描述】:

大家好,我有一个数据库,其中包含多次显示的相同 ID 的不同数据。通过使用distinct,我可以单独过滤所有数据,但现在我想单独计算每个productID。

SELECT COUNT(DISTINCT bim.product_id),  bim.component_id
FROM product_category AS bm
INNER JOIN products AS bim
ON bm.id = bim.ct_id
WHERE bm.id = 201

我得到以下结果

count(DISTINCT bim.component.id)   productID
"51"                                250174

但不是这个,我想计算产品 ID 在数据库中出现的次数。 像这样

count(DISTINCT bim.component.id)   productID
    "42"                                250174
    "12"                                250173
    "14"                                250176

等等。现在它计算 1 列中的每个产品 ID,但我想计算每个产品有多少产品 ID,就像上面的示例一样

【问题讨论】:

    标签: mysql sql count distinct


    【解决方案1】:

    我认为JOIN 是不必要的。这应该做你想做的事:

    SELECT bim.component_id,
           COUNT(DISTINCT bim.product_id) 
    FROM products bim
    WHERE bim.ct_id = 201;
    

    【讨论】:

      【解决方案2】:

      使用Group BY

      SELECT COUNT(DISTINCT bim.component_id),  bim.product_id
      FROM product_category AS bm INNER JOIN products AS bim ON bm.id = bim.ct_id
      WHERE bm.id = 201
      GROUP BY bim.product_id
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2023-03-03
        • 2022-08-05
        • 1970-01-01
        • 1970-01-01
        • 2021-12-01
        • 2021-07-16
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多