zoukankan      html  css  js  c++  java
  • 如何查询不重复字段记录

    由于设计需要,需要查询不重复的记录值,同类问题,想必大家都遇到过,于是乎马上GOOGLE一下,发现此类问题还挺多,解决方案也不少,仔细看看。
    例如有如下表结构和值
    table
    fid   name  sex
    1     a      男
    2     b      男
    3     c      女
    4     d      女
    5     a      男
    6     b      男
    方案一:distinct
    select distinct name from table
    得到结果:
    name
    a
    b
    c
    d
    实现效果,那如果要同时打开其它记录呢?再试试
    select distinct name,id from table
    测试没什么效果,查下得知,这样实际是要name和id字段都重复才被筛选。继续查找可得如下方法:
    方案二:group by
    select *, count(distinct name) from table group by name
    Oracle下测试失败,据说MYSQL下通过,不管,继续思考....
    翻翻书,试试
    select min(fid),name,sex from table group by name
    成功,现实如下结果:
    fid   name  sex
    1     a      男
    2     b      男
    3     c      女
    4     d      女
    继续思考,如果要打开所有记录,不指定字段用(*),貌似这方法就不行了!
    select  * from table where fid in(Select min(fid) FROM table group by name)
    测试成功
    fid   name  sex
    1     a      男
    2     b      男
    3     c      女
    4     d      女
    方案三:
    本来已经完了,突然想起前几天在网上查了查询数据中所有某字段重复的记录
    select   *   from   table   where   name in(select   name   from   table   group   by   name     having   count(name)=2) 
    得到如下结果:
    fid   name  sex
    1     a      男
    2     b      男
    5     a      男
    6     b      男
    以此类推:
    select   *   from   table   where   name in(select   name   from   table   group   by   name     having   count(name)=1)
    按道理说没问题,大家试试~~
    再多的字段都全部现实。哎,原来如此简单!回顾网上方法distinct,Inner   Join等等,麻烦,而且有很大局限性.
    总结如下:
    select distinct name from table打开重复记录的单个字段
    select  * from table where fid in(Select min(fid) FROM table group by name)打开重复记录的所有字段值
    select   *   from   table   where   name in(select   name   from   table   group   by   name     having   count(name)=1)打开重复任意次数的所有记录

  • 相关阅读:
    hibernate 建表一对一 就是一对多,多的一方外键唯一unique
    解除映射错误
    hibernate建表多对多建表
    一对多关系 操作小总结
    hibernate建表 一对多 多的一方控制一的一方
    hibernate的组成部分
    Spring cloud微服务安全实战-3-10API安全机制之授权
    Spring cloud微服务安全实战-3-9API安全机制之审计日志
    Spring cloud微服务安全实战-3-8API安全机制之Https
    Spring cloud微服务安全实战-3-7API安全机制之数据加密
  • 原文地址:https://www.cnblogs.com/bily101/p/3622798.html
Copyright © 2011-2022 走看看