zoukankan      html  css  js  c++  java
  • 查询数据库中字段内容相同的记录

      昨天遇到了一个问题,查询用户表中所有用户名相同的记录。这个问题乍看很简单,但是细想起来没那么容易。头脑的第一反应就是读取一个条数据之后循环查找有没有相同的。。汗!!!这种方法肯定不行,这效率太低了。。。

      后来想到的方法是将用户表内联查找,如:

    select u1.* from M_User u1,M_User u2 where u1.Name = u2.Name and u1.rowid <> u2.rowid

      这样发现解决问题,很开心的继续做其他的事儿了。。。

      

      但是当整个模块快做完了的时候测试了下,突然发现,当用户名相同的记录多余两个的时候会出现问题,每条记录会被查询出两次。比如id为1、2、3条记录的Name都是user1,那么1和3、2和3、1和2会被查询出来,也就是每条记录被查出来两次。这样是不行的,所以又回头想sql语句。

      最后经过经理的指点,可以使用group by 来做。

    select 
        * 
    from 
        M_USER 
    where 
        Name
    in
        (select 
            Name ss 
        from 
            M_USER 
        where
            IsDeleted=0
        group by 
            Name having count(*)> 1 
        )

    移步我最优惠网,尽享全网折扣商品。

    PS:我最优惠网是一个汇集京东、天猫、Amazon等知名电商优惠活动和商品的网站,更精明的剁手,从我最优惠开始

  • 相关阅读:
    drf序列化组件
    drf入门规范
    vue发送ajax请求与跨域问题
    Vue对象提供的属性功能
    vue.js库的下载与使用
    admin后台管理与media配置
    Auth认证模块
    学习总结3月11日
    学习总结3月10日
    基于 Spark 的物流企业数据仓库 的设计与实现
  • 原文地址:https://www.cnblogs.com/zhangkai2237/p/2654749.html
Copyright © 2011-2022 走看看