【问题标题】:MySQL: Find "same" DataMySQL:查找“相同”数据
【发布时间】:2017-09-25 10:22:01
【问题描述】:

我目前需要在连接表中找到匹配相同模式的条目。

表格看起来像

id    job_id   data1 ext_id
--    ------   ----- -----
1     15       1     3  
2     15       2     7
3     1        1     5  
4     1        2     4  
5     5        1     3
6     5        2     7

所以我的基本信息是job_id 15的数据

id    job_id   data1 ext_id
--    ------   ----- -----
1     15       1     3  
2     15       2     7

我想找到job_id 5,因为ext_id和data1中的数据与job 15中的数据相同。job_id 1的数据不同,所以我不想找到那个。 有什么想法吗?

【问题讨论】:

  • 到目前为止你尝试了什么?
  • 尝试了不同的方式将表格连接在一起。但老实说,我不知道如何根据数据进行选择。在我检索到有关哪些组合适用于作业 15 的信息后,我正在考虑手动构建 sql 查询,但我希望必须有一种更优雅的方式:)
  • 在 where 子句中尝试使用 job_id=5

标签: mysql database


【解决方案1】:

我相信你想要这个:

选择 * 从你的表 按数据1分组, ext_id 计数(*)> 1

这篇文章解释了它: How to find duplicates in 2 columns not 1

编辑

我相信这应该返回所有具有数学 data1 和 ext_id 值的行

从表 t1 中选择 * INNER JOIN 表 t2 ON t1.data1=t2.data1 和 t1.ext_id=t2.ext_id

【讨论】:

  • @einars 请告诉我输出
  • 遗憾的是没有。这真的没有帮助。我尝试在给定 ID 的数据上查找“重复项”。
  • 是的,它选择所有匹配的。但重要的部分是它找到匹配整个数据集。
  • 伪代码:select id from table where data like (select * from table where id = 15)
猜你喜欢
  • 1970-01-01
  • 2014-01-19
  • 1970-01-01
  • 2015-05-10
  • 2016-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多