检查多个列是否重复并列出所有记录

时间:2015-11-05 16:38:16

标签: mysql sql

我有一个包含列ID,内容和日期的表格。我正在尝试查找具有重复内容和日期值的所有行,并显示所有

SELECT ID,Content, `Day`, Count(*)
FROM table 
GROUP BY  Content,`Day`
HAVING COUNT(*) > 1

当前代码将返回重复内容和'Day'值的列表,例如:

ID|Content|Day
1 |   a   | 1 
2 |   a   | 1
3 |   a   | 1
4 |   b   | 2
5 |   b   | 2
6 |   c   | 3
7 |   c   | 4

将导致:

ID|Content|Day|Count
1 |   a   | 1 | 3
4 |   b   | 2 | 2

但我想要显示所有唯一ID;

ID|Content|Day
1 |   a   | 1 
2 |   a   | 1
3 |   a   | 1
4 |   b   | 2
5 |   b   | 2

2 个答案:

答案 0 :(得分:1)

使用该查询作为子查询再次加入对象: -

0x86 | 0xf7 | 0x0d

答案 1 :(得分:1)

只需制作Sub-Query

select * 
from table 
where `day` in
( 
SELECT ID
FROM table 
GROUP BY  Content,`Day`
HAVING COUNT(*) > 1
) A