我如何通过使用不同来计算每个 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;
大家好,我有一个数据库,其中包含多次显示的具有相同 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;