技术头条 - 一个快速在微博传播文章的方式     搜索本站
您现在的位置首页 --> MySQL --> 过滤部分字段重复的数据

过滤部分字段重复的数据

浏览:2999次  出处信息

    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. 对HTML做白名单过滤    (阅读:2647)
  2. 五个实用的Google Analytics过滤设置    (阅读:2201)
  3. 过滤字符的性能调优?    (阅读:1999)
  4. 关于大区间过滤优化内存设计    (阅读:1689)
  5. 大数据过滤及判断算法 -- Bitmap / Bloomfilter    (阅读:1296)
QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习
© 2009 - 2024 by blogread.cn 微博:@IT技术博客大学习

京ICP备15002552号-1