精华内容
下载资源
问答
  • 假设我们有表A 里面有字段 field 里面有很多重复数据。 现在需要查询当前字段重复的个数 mysql>select filed ,count(*) as total from A group by field having count(1)>1 那么having 的在group by 后面执行 取...

    假设我们有表A 里面有字段  field 里面有很多重复数据。

    现在需要查询当前字段重复的个数

    mysql>select filed ,count(*) as total from A group by field having count(1)>1

    那么having 的在group by 后面执行 取到group by 的结果后在进行聚合统计大于1的数数据行


    那么如何删除重复的数据呢只剩下一条呢??

     DELETE   FROM chat_test  WHERE  `name` IN   ( SELECT  h1.name FROM  (SELECT `name` FROM chat_test GROUP BY `name` HAVING COUNT(1)>1 ) AS h1 )  AND id NOT IN ( SELECT h2.id  FROM ( SELECT id FROM chat_test GROUP BY `name` HAVING COUNT(1)>1 ) AS h2)
     
    
    先把以上查询出来的结果当做条件 name in 查询的结果集 之后 在AND id  NOT in (id 字段) 那么现在就是

    name=结果集 ADN id!=结果集即可



    展开全文
  • mongo 去除指定字段值重复的数据

    万次阅读 2018-09-06 16:48:20
    mongodb 中 distinct 的作用是:获取集合中指定字段的不重复值,并以数组的形式返回 语法: db.collection_name.distinct(field,query,options) field——指定要返回的字段(String) query——条件查询...

    mongodb 中 distinct 的作用是:获取集合中指定字段的不重复值,并以数组的形式返回

    语法:

    db.collection_name.distinct(field,query,options)

    field——指定要返回的字段(String)

    query——条件查询(document)

    options——其他选项(document)

     

    例如:

    { "_id": 1, "dept": "A", "item": { "sku": "111", "color": "red" }, "sizes": [ "S", "M" ] }
    
    { "_id": 2, "dept": "A", "item": { "sku": "111", "color": "blue" }, "sizes": [ "M", "L" ] }
    
    { "_id": 3, "dept": "B", "item": { "sku": "222", "color": "blue" }, "sizes": "S" }
    
    { "_id": 4, "dept": "A", "item": { "sku": "333", "color": "black" }, "sizes": [ "S" ] }

    >db.inventory.distinct("dept") //获取dept字段的不重复值

    结果:["A","B"]

    >db.inventory.distinct("item.sku") //获取item子字段sku的不重复值

    结果:["111","222","333"]

    >db.inventory.distinct("item.sku",{dept:"A"}) //满足dept为A的item子字段sku的不重复值

    结果:["111","333"]

    但是distinct只能获取不重复值,不能去除重复项,保留不重复记录

     

    以下方法去除重复项:

    进入mongo命令,切换至指定数据库use databaseName,具体命令可参考https://blog.csdn.net/cat_book_milk/article/details/79161720

    >var obj1 = db.test.find({"field_name":""});//此处可添加查询条件
    >while(obj1.hasNext()){
        var obj2 = db.test.find();
        var doc1 = obj1.next();
        while(obj2.hasNext()){
            var doc2 = obj2.next();
            if(doc1.fieldName == doc2.fieldName){
                db.test.remove({"fieldName":doc1.fieldName});
            }
        }
        db.test.insert(doc1);
    }

     

    展开全文
  • 例:坐地铁站 始点名 终点名 A B B C A C 求一共出入了多少个地铁站口? 我想得到的结果是3个 应该怎么用sql语句来写?
  • shell中按列值统计行数及去除重复值

    千次阅读 2014-03-28 14:32:10
    测试文件在系统文件中的shell文件夹中的test.log文件,内容为: abcdefg higklmn 12345 ... 完全去除重复值  通过结果可以看出,uniq命令得到16行,awk命令得到15行,上面两行重复值在此处已经去除了。

    测试文件在系统文件中的shell文件夹中的test.log文件,内容为:

    abcdefg higklmn 12345 fuck!
    abcdefg higklmn 12345 fuck!
    abcdefg higklmn 12345 fuck!
    afdsaff adfgaga 63542 fdasg
    sdfasfd sdafadf 12345 asdga
    jfaldjf sdfasfs 63542 sdfad
    abcddfg higdfmn 12345 fuck!
    jfalsjf sdf4sfs 12345 sdfad
    jfalsjf sdf4sfs 12345 sdfad
    jfalsjf sdf4sfs 12345 sdfad
    jfalsjf sdf4sfs 12345 sdfad
    abcdefg higklmn 67890 fuck!
    afdsaff adfgaga 63542 fdasg
    sdfasfd sdafadf 67890 asdga
    jfaldjf sdfasfs 67890 sdfad
    abcddfg higdfmn 63542 fuck!
    afdscff adfgada 67890 fdasg
    sdfagfd sdavadf 67890 asdga
    jfalsjf sdf4sfs 67890 sdfad
    jfalsjf sdf4sfs 67890 sdfad
    jfalsjf sdf4sfs 67890 sdfad
    jfalsjf sdf4sfs 67890 sdfad
    afdscff adfgada 12345 fdasg
    sdfagfd sdavadf 12345 asdga
    

    1:首先查看日志文件:

    [root@master ~]# cat /shell/test.log | sort -n
    abcddfg higdfmn 12345 fuck!
    abcddfg higdfmn 63542 fuck!
    abcdefg higklmn 12345 fuck!
    abcdefg higklmn 12345 fuck!
    abcdefg higklmn 12345 fuck!
    abcdefg higklmn 67890 fuck!
    afdsaff adfgaga 63542 fdasg
    afdsaff adfgaga 63542 fdasg
    afdscff adfgada 12345 fdasg
    afdscff adfgada 67890 fdasg
    jfaldjf sdfasfs 63542 sdfad
    jfaldjf sdfasfs 67890 sdfad
    jfalsjf sdf4sfs 12345 sdfad
    jfalsjf sdf4sfs 12345 sdfad
    jfalsjf sdf4sfs 12345 sdfad
    jfalsjf sdf4sfs 12345 sdfad
    jfalsjf sdf4sfs 67890 sdfad
    jfalsjf sdf4sfs 67890 sdfad
    jfalsjf sdf4sfs 67890 sdfad
    jfalsjf sdf4sfs 67890 sdfad
    sdfagfd sdavadf 12345 asdga
    sdfagfd sdavadf 67890 asdga
    sdfasfd sdafadf 12345 asdga
    sdfasfd sdafadf 67890 asdga
    

    2:按照第三列的值的不同,统计各个值出现的行数,结果如下:

          使用awk命令:awk '{a[$3]++}END{for i in a}print i,a[i]}' /shell/test.log

    [root@master ~]# awk '{a[$3]++}END{for(i in a)print i,a[i]}' /shell/test.log
    63542 4
    67890 9
    12345 11
    

    3:查看某列中有几种不同的数值,输出:

          awk '{if(!a[$3]++) print $3}' /shell/test.log

    [root@master ~]# awk '{if(!a[$3]++) print $3}' /shell/test.log
    12345
    63542
    67890
    

    4:查看某列中不同值的个数,并输出第一次在此列中出现的值的行:

          awk ‘{if(!($3 in a)){a[$3];print}}’ /shell/test.log

    [root@master ~]# awk '{if(!($3 in a)){a[$3];print}}' /shell/test.log
    abcdefg higklmn 12345 fuck!
    afdsaff adfgaga 63542 fdasg
    abcdefg higklmn 67890 fuck!
    

    5:uniq命令是去掉重复行,不过只能去掉相邻的重复行。    

    [root@master ~]# uniq /shell/test.log | wc -l
    16
    

    [root@master ~]# uniq /shell/test.log | sort -n
    abcddfg higdfmn 12345 fuck!
    abcddfg higdfmn 63542 fuck!
    abcdefg higklmn 12345 fuck!
    abcdefg higklmn 67890 fuck!
    afdsaff adfgaga 63542 fdasg
    afdsaff adfgaga 63542 fdasg
    afdscff adfgada 12345 fdasg
    afdscff adfgada 67890 fdasg
    jfaldjf sdfasfs 63542 sdfad
    jfaldjf sdfasfs 67890 sdfad
    jfalsjf sdf4sfs 12345 sdfad
    jfalsjf sdf4sfs 67890 sdfad
    sdfagfd sdavadf 12345 asdga
    sdfagfd sdavadf 67890 asdga
    sdfasfd sdafadf 12345 asdga
    sdfasfd sdafadf 67890 asdga
    

          里面有重复值没有被完全去除

    6:awk脚本中可以完全去掉重复行:

    [root@master ~]# awk '{if(!(a[$0]++)){a[$0];print}}' /shell/test.log | wc -l
    15
    
    [root@master ~]# awk '{if(!(a[$0]++)){a[$0];print}}' /shell/test.log | sort -n
    abcddfg higdfmn 12345 fuck!
    abcddfg higdfmn 63542 fuck!
    abcdefg higklmn 12345 fuck!
    abcdefg higklmn 67890 fuck!
    afdsaff adfgaga 63542 fdasg
    afdscff adfgada 12345 fdasg
    afdscff adfgada 67890 fdasg
    jfaldjf sdfasfs 63542 sdfad
    jfaldjf sdfasfs 67890 sdfad
    jfalsjf sdf4sfs 12345 sdfad
    jfalsjf sdf4sfs 67890 sdfad
    sdfagfd sdavadf 12345 asdga
    sdfagfd sdavadf 67890 asdga
    sdfasfd sdafadf 12345 asdga
    sdfasfd sdafadf 67890 asdga
    
          完全去除重复值

          通过结果可以看出,uniq命令得到16行,awk命令得到15行,上面两行重复值在此处已经去除了。

    展开全文
  • SQL语句-统计全部数据,过滤掉其中两个字段同时重复的记录   标准查询语句结果:(表名:Test2) select * from Test2   滤掉其中两个字段同时重复的记录结果:(表名:Test2 ;需要过滤重复记录的两个字段...
  • 1.根据bqyId分组并统计数量,$group只会返回参与分组的字段,使用$addToSet在返回结果数组中增加_id字段 2.使用$match匹配数量大于1的数据 3.doc.uniqueIds.shift();表示从数组第一个开始删除;作用是踢除重复数据...
  • 去除重复值(distinct:取消重复的数据值;注意放置位置)3. limit(注意关键字放置位置,可实现排行榜/分页效果)4. in/not in----值列表(一个字段对应多个数据值)5. between...and.../not between...and...6、...
  • List集合中的对象判断某个字段是否重复-去重List集合中的对象判断某个字段是否重复如何优雅的判断List集合中对象的某个字段是否存在重复值java 对list数据 根据某个字段去掉重复数据 List集合中的对象判断某个字段...
  • distinct去除重复值

    2016-12-05 23:45:28
    在表中,可能会包含重复值。这并不成问题,不过,有时您也许希望仅仅列出不同(distinct)的值。关键词 distinct用于返回唯一不同的值。 表A: 表B: 1.作用于单列 select distinct name from A ...
  • 一、快速命令 1、格式 db.集合名.distinct('字段名') ... 去掉".length"将返回该字段重复值的列表,如 db.news.distinct('title_id') 二、参考资料 1、mongodb count num of distinct values per field/key ...
  • 这是执行前和执行后想要的效果 以下是用Sql语句实现的代码: select goodsno, goodsspec,SUM([count]) as count from goods group by goodsno ,goodsspec 下面这个则是用Linq实现的代码: ... ...
  • mysql中去除重复字段-distinct

    万次阅读 2015-12-21 01:47:44
    mysql中去除重复字段-distinct今天在进行数据处理的时候需要去除重复的数据,使用distinct十分便捷,所以做一下说明。 使用distinct注意事项 distinct一般用法 在统计中使用等其他用法 具体问题解决 1、注意事项 ...
  • 人名去重复且首次:指所有区域编号为对应,且首次标记为1,且去掉人名重复的记录 [/quote] [img=https://img-bbs.csdn.net/upload/201704/07/1491557737_108142.png][/img] DataTable DT=我写的方法从...
  • 1.表中有id和name 两个字段,查询出name重复的所有数据 select * from xi a where (a.username) in (select username from xi group by username having count(*) > 1) 2、查询出所有数据进行分组之后,和重复数据...
  • DISTINCT 用于返回唯一不同的语法:SELECT DISTINCT 列名称 FROM 表名称 DISTINCT用于多列 表A:SQL:select distinct name, id from A执行后结果如下:实际上是根据name和id两个字段来去重的,这种方式Access和...
  • 本文系转载: 原文链接:...//处理二维数组, 按照某个字段合并重复的,其余字段中部分字段保留,部分相加 public function deal_erwei_arr(){ $param = array( array ( 'hykno' ...
  • mongodb去除重复

    千次阅读 2018-07-24 18:58:48
    今天使用mongodb发现某一字段有很多重复,需要根据该字段重复删除,保留一份,查了很多资料,写出了一套去重代码记录下来。 首先应该将数据库表备份,这是所有数据处理步骤的最重要一步,谁也不知道会...
  • 首先分开统计每天的中午、下午饭点人数,这时需要分别去除中午和下午重复打卡的人。用了记录集的交,嵌套select的知识。 注意不能直接使用union,这里只能使用union all,因为union会去掉重复记录,一个员工上午吃了...
  • 1.查询表中相同字段 查询表中字段为'bqyId'相同的字段 db.resToMinPrice.aggregate([{'$group':{ '_id':{'bqyId':'$bqyId'}, 'uniqueIds':{'$addToSet':'$_...
  • 就是获取DataTable中某一列的,因为从数据库中检索数据时,按照2个字段进行分组,而要获得的那一列刚好在分组这两列中,所以该列的必然有重复,于是就想到了去除重复,有了思路以后在网上看了一些方法,大都是...
  • mongodb 分组查询统计去掉重复的记录
  • python去掉重复字段,只需改输入文件名称和输出文件名称即可运行
  • 例如 表 id name lnbal A 12 10 A 13 20 B 11 30 B 11 30 B 15 40 C 16 70 C 16 90 查询结果为 id c_name s_lnbal A 12,13 30 ...请教一下大神,关键name字段去除重复后合并,统计lnbal!
  • oracle去除重复记录查询统计

    千次阅读 2013-10-15 10:43:03
    ] ---统计各个psam卡号的数量(oracle&mysql)。 SELECT psamcode, count( * ) AS count FROM cms_psamcard GROUP BY psamcode ORDER BY count DESC LIMIT 20 ---oracle delete from stu a where ...
  • 字段1 和 字段2 同时重复,且不排除null,即字段1 和 字段2同时为null,count(*)统计为一条记录) select 字段1,字段2,count(*) from 表名 group by 字段1,字段2 having count(*) > 1 PS:将上面的>号改...
  • MySQL去除查询结果重复值 count关键字

    万次阅读 2018-08-12 07:29:23
    在使用mysql时,有时需要查询出某个字段重复的记录,虽然mysql提供有distinct这个关键字来过滤掉多余的重复记录只保留一条,但往往只用它来返回不重复记录的条数,而不是用它来返回不重记录的所有。其原因是...
  •  一张person表,有id和name的两个字段,id是唯一的不允许重复,id相同则认为是重复的记录。 二、解决  select id from group by id having count(*) > 1  按照id分组并计数,某个id号那一组的数量超过1条则...
  • 如我有一张people表 表中有name,phone,qq三个字段 ...第一二行 name字段重复,算重复数据 第三四行 phone字段重复,算重复数据,求应该如何查询</p>

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 40,863
精华内容 16,345
关键字:

统计字段去掉重复值