我如何通过使用不同来计算每个 productID 并单独显示

How can i count every productID by using distinct and show it individually

大家好,我有一个数据库,其中包含多次显示的具有相同 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

使用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

我认为 JOIN 没有必要。这应该可以满足您的要求:

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