我试图查询具有重复项的产品,但每个重复条目只有一行。我还希望每个条目都显示有多少人喜欢它。这是我到目前为止所做的,但它有很多错误。有关如何简化和排除故障的提示将不胜感激。
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
答案 0 :(得分:0)
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;