在mysql中选择并显示重复记录 [英] Select and display only duplicate records in mysql

查看:87
本文介绍了在mysql中选择并显示重复记录的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这个问题很简单,因为某些原因,不能得到正确的结果,只显示重复记录。

 表:Paypal_ipn_orders 
id payer_email
1 susan@gmail.com
2 ryan@gmail.com
3 susan@gmail.com
4 steve@gmail.com
5 steve@gmail.com

SELECT id,COUNT(payer_email)`tot`
FROM paypal_ipn_orders
GROUP BY payer_email
HAVING`tot`> 1

样本输出

  id tot 
1 2
4 2

预期输出



  id payer_email 
1 susan@gmail.com
3 susan@gmail.com
4 steve @ gmail.com
5 steve@gmail.com

如何这样做吗

解决方案

  SELECT id,payer_email 
FROM paypal_ipn_orders
WHERE payer_email IN(
SELECT payer_email
FROM paypal_ipn_orders
GROUP BY payer_email
HAVING COUNT(id)> 1

/ pre>

sqlfiddle


This question is pretty simple I for some reason cant get the proper result to display only the duplicate records

Table   : Paypal_ipn_orders
id                              payer_email
1                               susan@gmail.com
2                               ryan@gmail.com   
3                               susan@gmail.com
4                               steve@gmail.com
5                               steve@gmail.com

SELECT id, COUNT( payer_email ) `tot`
FROM paypal_ipn_orders
GROUP BY payer_email
HAVING `tot` >1

sample output

id       tot
1         2
4         2

expected output

id       payer_email 
1        susan@gmail.com
3        susan@gmail.com
4        steve@gmail.com
5        steve@gmail.com

How do I make this happen?

解决方案

SELECT id, payer_email
FROM paypal_ipn_orders
WHERE payer_email IN (
    SELECT payer_email
    FROM paypal_ipn_orders
    GROUP BY payer_email
    HAVING COUNT(id) > 1
)

sqlfiddle

这篇关于在mysql中选择并显示重复记录的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆