数据库去重

查询
SELECT
*
FROM
table A
WHERE
( A.the_date, A.exponent_code, A.exponent_value ) IN ( SELECT the_date, exponent_code, exponent_value FROM table GROUP BY the_date, exponent_code, exponent_value HAVING COUNT ( * ) > 1 )
AND A.ID NOT IN ( SELECT MIN ( ID ) FROM table GROUP BY the_date, exponent_code, exponent_value HAVING COUNT ( * ) > 1 )
LIMIT 10000 OFFSET 1

删除相同指标()
DELETE
FROM
table A
WHERE
( A.the_date, A.exponent_code, A.exponent_value ) IN ( SELECT the_date, exponent_code, exponent_value FROM table GROUP BY the_date, exponent_code, exponent_value HAVING COUNT ( * ) > 1 )
AND A.ID NOT IN ( SELECT MIN ( ID ) FROM table GROUP BY the_date, exponent_code, exponent_value HAVING COUNT ( * ) > 1 )

 

注:

A为数据表代替名,可忽略不改

the_date, exponent_code, exponent_value为表字段名,多或单个字段联合唯一

table为数据库表名

 

SELECT * FROM shopee_localize a
WHERE (a.shop_id, a.offer_id, a.product_id, a.voucher_id)
in
(SELECT shop_id, offer_id, product_id, voucher_id FROM shopee_localize GROUP BY shop_id, offer_id, product_id, voucher_id HAVING count(*)>1)
and id not in
(SELECT min(id) FROM shopee_localize GROUP BY shop_id, offer_id, product_id, voucher_id HAVING count(*)>1)

 

posted @ 2020-07-14 16:10  小王八+1  阅读(176)  评论(0编辑  收藏  举报