IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

过滤部分字段重复的数据

淡水河边的博客 2010-06-17 10:18:40 累计浏览 3,940 次
本机暂存

    select distinct可以去掉重复记录。

    disctinct将重复的记录忽略,但它忽略的是完全一致的重复记录,而不是其中某个字段重复的记录,或者说,distinct查询一个字段时好使,多个字段就不好使。

    所以用聚合函数和group by实现

    注意:group by只能跟聚合函数搭配使用

    例表

    ID username password TRDESC ……………………

     1 A abcdef QR

     2 A abcdef W34

     3 A bbbbbb AD

     4 B aaaaaa asdf

    查询username和password组合起来的条件不能重复的查询结果(这个都能重复,不能不说这是个烂摊子)

    当username和password重复时,取ID最大的记录:

     select * from mytable where ID in(select max(ID) from mytable group by username,password)

    当username和password重复时,取ID最小的记录:

     select * from mytable where ID in(select min(ID) from mytable a group by username,password)

同分类推荐文章

  1. 使用deepseek进行Oracle恢复,引起重大故障 (2026-06-22 10:56:00)
  2. 接手一个只差临门一脚的数据库恢复 (2026-06-18 00:13:09)
  3. 我做了一个 AI 版的 StarRocks 升级风险扫描工具,直接帮我定位到一个风险 (2026-06-15 01:00:00)

查看更多 数据库 文章 →

建议继续学习

  1. MySQL数据库在实际应用一些方面的介绍 (累计阅读 36,398)
  2. 如何查找消耗资源较大的SQL (累计阅读 15,211)
  3. 其实,文件也可以truncate (累计阅读 8,574)
  4. MariaDB常见问题FAQ (累计阅读 8,345)
  5. SQL vs NoSQL:数据库并发写入性能比拼 (累计阅读 8,003)
  6. Mysql的随机读取 (累计阅读 7,863)
  7. 索引与优化like查询 (累计阅读 7,337)
  8. 在百度的第一年 (累计阅读 6,922)
  9. SQL到NOSQL的思维转变 (累计阅读 6,848)
  10. SQL里是否可以使用JOIN (累计阅读 6,816)