【问题标题】:How can I fetch duplicate rows如何获取重复的行
【发布时间】:2021-12-08 20:15:51
【问题描述】:

假设我有一张这样的桌子:

ID valA valB valC
1 21 aaaaa NYC
4 12 bbbbb NYC
2 31 ddddd LA
2 23 eeeee LA
2 41 fffff NE
3 23 ggggg JE
3 44 hhhhh KA

我希望所有行都具有 valC 的重复项。 所以,结果我想要这个:

ID valA valB valC
1 21 aaaaa NYC
4 12 bbbbb NYC
2 31 ddddd LA
2 23 eeeee LA

我尝试过这样的事情:

SELECT DISTINCT *, count(valC) 
FROM table A
INNER JOIN table B ON A.valC = B.valC
WHERE A.valC = B.valC AND valC > 1;

我是 SQL 的新手,所以我很感激任何建议。

【问题讨论】:

  • 你使用的是什么 rdbms?

标签: sql duplicates


【解决方案1】:

使用Subquery的简单方法

此示例在 MySQL 中运行

SELECT * 
FROM table_name
WHERE valC IN ( SELECT valC 
                FROM table_name 
                GROUP BY valC 
                HAVING COUNT(valC) > 1);

【讨论】:

  • 也适用于其他 rdbms,如 sql-server
  • 谢谢你完美的工作。我还有一个问题。
  • 是的,你可以问。
猜你喜欢
  • 1970-01-01
  • 2016-03-03
  • 1970-01-01
  • 2020-12-10
  • 1970-01-01
  • 2014-07-07
  • 2017-05-13
  • 2016-08-17
  • 1970-01-01
相关资源
最近更新 更多