目前,我有一个MySQL表,其中有几列。以下是包含数据的表的示例:
+----------+---------------------+
| hospt_id | file_id | clinic_id |
+----------+---------------------+
| 212837 | 9 | NULL |
| 123837 | 14 | 2134319 |
| 345567 | 9 | NULL |
| 123456 | 14 | 2134320 |
| 123456 | 14 | 2134320 |
+----------+---------------------+`我要做的是编写一个查询,它将返回这三列重复的所有记录。
例如,最后两行是重复的。所以我想把那些东西拿回来。我知道如何对单个列进行重复搜索,但不确定如何对多列进行重复搜索。
发布于 2015-04-08 12:10:34
您只需对所有三条记录进行分组,即可获得每组中的行数。然后,您可以将其筛选为在having子句中有多个匹配行的那些行。
select hospt_id, file_id, clinic_id, count(*)
from <table>
group by hospt_id, file_id, clinic_id
having count(*) > 1;https://stackoverflow.com/questions/29505775
复制相似问题