mysql - 数据库中的重复记录

标签 mysql sql database

我想知道以前是否有人处理过类似的问题。我正在尝试从移至 mysql 的旧数据库中提取数据。出于某种原因,其作者认为复制记录是个好主意。所以我处理的报价表如下所示:

 id     code     quote_no             client
 1      A      Qte 2013/001-A       John Smith
 2      A/B    Qte 2013/002-A/B     Mark Brown
 3      A      Qte 2013/002-A       Mark Brown
 4      B      Qte 2013/002-B       Mark Brown

没有任何内容直接表明 id 2、3、4 属于同一组。代码指的是部门。

我想分离唯一记录和“复合”记录,例如 Qte 2013/002-A/B 和 Qte 2013/001-A。基本上是为每个唯一的数字 quote_no 获取一个 quote_no。任何想法将不胜感激。

最佳答案

假设 quote_no 具有固定格式,您可以对 quote_no 的子字符串进行 GROUP() 并获取所有记录及其各自的计数。

从那里开始,应该与原始表进行 JOIN 来删除所有重复行,并使用 WHERE 条件(代码 LIKE '/' 或 count =1)来分别考虑挑选复合记录和唯一记录。

SQLfiddle demo .

关于mysql - 数据库中的重复记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26102901/

相关文章:

php - 如何只显示指定列中不包含 NULL 值的结果?

mysql - 在mysql中,如何将自动递增字段中的数据放入另一列中?

sql - 更改SSRS散点图中水平轴的顺序?

mysql - 寻找平均最高工资

mysql | mysql |具体要求

mysql - 大规模 Wordpress 数据库迁移

mysql - 与其他表交叉不同的列值

MySQL查询从表中获取ID存在于另一个查询中的字段

sql - 添加 SQL Server 索引,但如何仅重新编译受影响的存储过程?

SQL 在一个查询中使用多个 select count 语句