[英]Mysql - Find duplicates records evaluating 2 columns
I have a mysql table with a structure like this: order_id - customer_name - customer_email_address 我有一个具有以下结构的mysql表:order_id-customer_name-customer_email_address
i need to do a query to search for records that have same customer_name OR same customer_email and show the result ordered by order_id groups (descending order). 我需要执行一个查询来搜索具有相同的customer_name或相同的customer_email的记录,并显示按order_id组排序的结果(降序)。
Example: 例:
Mysql table MySQL表
order_id customer_name customer_email_address
1 pippo pippo@pippo.com
2 pippo pippo2@pippo2.com
3 pluto pluto@pluto.com
4 caio pippo@pippo.com
5 pippo4 pippo4@pippo4.com
6 pluto pluto22@pluto22.com
Result 结果
6 pluto pluto22@pluto22.com
3 pluto pluto@pluto.com
4 caio pippo@pippo.com
1 pippo pippo@pippo.com
2 pippo pippo2@pippo2.com
Result 6 and 3 share the same customer_name Result 4 and 1 share the same customer_email_address Result 1 and 2 share the same customer_name 结果6和3共享相同的customer_name结果4和1共享相同的customer_email_address结果1和2共享相同的customer_name
Order_id 5 is not in results because it has no duplicates. Order_id 5不在结果中,因为它没有重复项。
Try this: 尝试这个:
SELECT
order_id,
customer_name,
customer_email_address
FROM
my_table
WHERE
order_id IN (
SELECT
order_id
FROM
my_table
GROUP BY
customer_name
HAVING
COUNT(*)>1
UNION
SELECT
order_id,
FROM
my_table
GROUP BY
customer_email_address
HAVING
COUNT(*)>1
)
ORDER BY
customer_name,
customer_email_address,
order_id DESC
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.