在 MySQL 中查找具有重复记录的 id
Posted
技术标签:
【中文标题】在 MySQL 中查找具有重复记录的 id【英文标题】:Find ids with duplicate records in MySQL 【发布时间】:2012-08-04 05:20:39 【问题描述】:我想提取 mysql 数据库中的重复记录。
----------------------------
| id | column_a | column_b |
|----|----------|----------|
| 1 | a | b |
| 2 | a | c |
| 3 | a | d |
| 4 | a | b |
| 5 | b | e |
| 6 | c | a |
| 7 | c | d |
| 8 | e | a |
| 9 | e | a |
----------------------------
我想将其拉出,以便显示重复的每一行。类似的东西:
------
| id |
|----|
| 1 |
| 4 |
| 8 |
| 9 |
------
或
---------------------------------------
| duplicate_ids | column_a | column_b |
|---------------|----------|----------|
| 1,4 | a | b |
| 8,9 | e | a |
---------------------------------------
对如何做到这一点有任何想法吗?
【问题讨论】:
【参考方案1】:试试GROUP_CONCAT
SELECT GROUP_CONCAT(id), column_A, column_B
FROM mytable
GROUP BY columnA, columnB
HAVING COUNT(id) > 1
【讨论】:
【参考方案2】:SELECT
GROUP_CONCAT(id) as ids,
column_a,
column_b
FROM table
GROUP BY column_a, column_b
HAVING COUNT(id) > 1
【讨论】:
【参考方案3】:试试group_contact ()
函数,
select group_concat(id) duplicate_ids ,column_a, column_b
from <table>
group by column_a, column_b
【讨论】:
【参考方案4】:select group_concat(id) as duplicate_ids,
columna,
columnb
from your_table
group by columna, columnb
having count(id) > 1
【讨论】:
以上是关于在 MySQL 中查找具有重复记录的 id的主要内容,如果未能解决你的问题,请参考以下文章