使用sql批量隐藏重复产品

eqqqjvef  于 2021-07-26  发布在  Java
关注(0)|答案(0)|浏览(212)

我有两个供应商提供的2.1万件产品wp\u posts.post\u作者值“5”和“6”
一些产品由他们两人共同销售(大约2公里)。
我想从post_author(供应商)“5”中隐藏副本的目录可见性
我做了这个sql查询来找出重复的

SELECT 
    pm.post_id, 
    pm.meta_value, 
    pm.meta_key, 
    p.post_title, 
    p.post_author, 
    p.id, p.post_type, COUNT(*)
FROM wp_postmeta pm
JOIN wp_posts p 
    ON p.id = pm.post_id
WHERE p.post_type = 'product'
AND pm.meta_key = 'icecat_sku' 
AND pm.meta_value != '' 
GROUP BY meta_value
HAVING COUNT(*) > 1

第一个查询的输出
这工作得很好,但它只显示后作者(供应商)“6”的副本。
所以我试着 SELECT 所有来自post_作者'5'的产品,以查看查询是否没有问题

SELECT 
    pm.post_id, 
    pm.meta_value, 
    pm.meta_key, 
    p.post_date,
    p.post_title, 
    p.post_author, 
    p.id, p.post_type
FROM wp_posts p 
JOIN wp_postmeta pm
    ON pm.post_id = p.id
WHERE p.post_type = 'product'
AND pm.meta_key = 'icecat_sku' 
AND pm.meta_value != ''
AND p.post_author = '5'

第二个查询的输出-它做得很好。
所以主要的问题是当我加上: GROUP BY meta_value HAVING COUNT(*) > 1 -从(供应商)post\u author'5'获取副本的查询有问题:

SELECT 
    pm.post_id, 
    pm.meta_value, 
    pm.meta_key, 
    p.post_date,
    p.post_title, 
    p.post_author, 
    p.id, p.post_type, COUNT(*)
FROM wp_posts p 
JOIN wp_postmeta pm
    ON pm.post_id = p.id
WHERE p.post_type = 'product'
AND pm.meta_key = 'icecat_sku' 
AND pm.meta_value != ''
AND p.post_author = '5'
GROUP BY meta_value
HAVING COUNT(*) > 1

第三个查询的输出
它只返回16个产品而不是2k个产品。。。
我相信我错了,或者错过了什么 GROUP BY meta_value HAVING COUNT(*) > 1 你能告诉我,如果我的查询有一些问题,可能导致的问题?已经花了几天的时间来修复这个。。。谢谢您

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题