查询数据库中字段内容相同的记录
2012-08-24 20:49
225 查看
昨天遇到了一个问题,查询用户表中所有用户名相同的记录。这个问题乍看很简单,但是细想起来没那么容易。头脑的第一反应就是读取一个条数据之后循环查找有没有相同的。。汗!!!这种方法肯定不行,这效率太低了。。。
后来想到的方法是将用户表内联查找,如:
这样发现解决问题,很开心的继续做其他的事儿了。。。
但是当整个模块快做完了的时候测试了下,突然发现,当用户名相同的记录多余两个的时候会出现问题,每条记录会被查询出两次。比如id为1、2、3条记录的Name都是user1,那么1和3、2和3、1和2会被查询出来,也就是每条记录被查出来两次。这样是不行的,所以又回头想sql语句。
最后经过经理的指点,可以使用group by 来做。
后来想到的方法是将用户表内联查找,如:
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 )
相关文章推荐
- Oracle查询一批数据,某字段的内容有重复数据,怎样取相同的记录中时间最近的一条
- 用SQL语句查询数据库中某一字段下相同值的记录方法
- 用SQL查询数据库中某一字段下相同值的记录方法
- 转:查询出来2条记录,如何拼接相同的字段的内容
- Oralce数据库查询某张表某个字段的值有相同的记录并统计个数
- 用SQL语句查询数据库中某一字段下相同值的记录方法
- 用SQL查询数据库中某一字段下相同值的记录方法
- 用SQL语句查询数据库中某一字段下相同值的记录方法
- 用SQL查询数据库中某一字段下相同值的记录方法
- 查询数据库某字段内容相同数量
- 查询数据库某字段的相同记录
- 如何查询一个数据库表中某字段相同记录的数据
- mysql查询ID相同的某字段最大那条记录
- 查询数据库表中同一字段值相同的数据行 +exists 的使用
- [SQL]查询某一个字段在某一段时期数据库中使用到的记录
- 15. "wm_concat"_数据库中将查询出来的多条记录中的某个字段用","拼接起来
- sql查询表中字段值相同的数据记录
- 查询数据库中指定字段符合条件的记录数
- 当某个表中存在标志表格中记录不同状态的判断性字段的时候,采用两种不同的数据库组织形式,查询执行速度的实验。
- 查询数据表中某字段值是否有多条记录相同的sql语句