Sql 查找重复项(一行/ea)并列出每个查找代码的重复项数
我试图查询具有重复项的产品,但每个重复项只有一行。我还希望每个条目显示有多少其他人喜欢它。这是我到目前为止得到的,但它有很多错误。关于如何简化和排除故障的提示将不胜感激Sql 查找重复项(一行/ea)并列出每个查找代码的重复项数,sql,duplicates,Sql,Duplicates,我试图查询具有重复项的产品,但每个重复项只有一行。我还希望每个条目显示有多少其他人喜欢它。这是我到目前为止得到的,但它有很多错误。关于如何简化和排除故障的提示将不胜感激 SELECT p1.id AS product_id, p1.lookup_code AS product_lookup_code, p1.name AS product_name, p2.id AS duplicate_id, p2.lookup_code AS duplicate_lookup_code, p2.
SELECT p1.id AS product_id,
p1.lookup_code AS product_lookup_code,
p1.name AS product_name,
p2.id AS duplicate_id,
p2.lookup_code AS duplicate_lookup_code,
p2.name AS duplicate_name,
COUNT(*) (FROM products AS p1 INNER JOIN products AS p2 ON p1.lookup_code = p2.lookup_code
INNER JOIN items ON p1.id = items.product_id
WHERE p1.id != p2.id
AND items.available = true
AND items.visible = true
AND items.unlisted = false)
HAVING COUNT > 1 LIMIT 5000
SELECT p.id, p.lookup_code, p.name, t.duplicate_count from products p INNER JOIN (
SELECT count(id) as duplicate_count, lookup_code from products GROUP BY lookup_code HAVING count(id) > 1
) t on t.lookup_code = products.lookup_code;