美文网首页
数据库:查重 去重

数据库:查重 去重

作者: VI8080 | 来源:发表于2016-06-21 20:28 被阅读1247次



用户表全部数据如下,其中有人员的电话相同,

mysql> select * from user;

+----+---------+-----------+-------------+-----+-------------------+---------+

| id | user_id | user_Name | tel        | sex | addr              | salary  |

+----+---------+-----------+-------------+-----+-------------------+---------+

|  1 | 002    | 李四      | 13222222223 | 2  | haodeffkmgmgfflfl | 3500.34 |

|  2 | 001    | 张三      | 13222222223 | 2  |                  | 5500.45 |

|  3 | 003    | 王五      | 13222222222 | 1  |                  | 4567.32 |

+----+---------+-----------+-------------+-----+-------------------+---------+


3 rows in set (0.00 sec)

1、查询场景:

查询被重复注册的电话,及被注册的次数,  注意 group by 的字段必须再查询结果的字段中

mysql> select tel,count(*) from user group by tel;

+-------------+----------+

| tel        | count(*) |

+-------------+----------+

| 13222222222 |        1 |

| 13222222223 |        2 |

+-------------+----------+

2 rows in set (0.01 sec)

2、查询场景:

查询重复注册的手机号次数大于2 的 , 是次数的 别名

mysql> select tel,count(*) regnum from user group by tel having regnum>1;

+-------------+-------+

| tel        | regnum|

+-------------+-------+

| 13222222223 |    2 |

+-------------+-------+

1 row in set (0.00 sec)

3、查询场景:

查询没个手机号的注册人的所有姓名,并用,分隔。

设计函数:group_concat

mysql> select tel,group_concat(user_Name) userNames from user group by tel ;

+-------------+-----------+

| tel        | userNames |

+-------------+-----------+

| 13222222222 | 王五      |

| 13222222223 | 李四,张三 |

+-------------+-----------+

2 rows in set (0.00 sec)

4、查询场景:

查询用户表手机号,并去除重复

关键字:distinct

mysql> select distinct tel from user;

+-------------+

| tel        |

+-------------+

| 13222222223 |

| 13222222222 |

+-------------+

2 rows in set (0.00 sec)

使用关键字  group by 实现去重

mysql> select tel from user group by tel;

+-------------+

| tel        |

+-------------+

| 13222222222 |

| 13222222223 |

+-------------+

2 rows in set (0.00 sec)

5、 查询场景:

查询每个电话被注册最大id,及对应的电话

mysql> select max(id),tel from user group by tel;

+---------+-------------+

| max(id) | tel        |

+---------+-------------+

|      3 | 13222222222 |

|      2 | 13222222223 |

+---------+-------------+

2 rows in set (0.00 sec)

6、查询场景:

查询每个电话被注册最大id,

a 为第一个查询结果集的虚拟表别名

mysql> select id from  (select max(id) as 'id',tel from user group by tel) a;

+------+

| id  |

+------+

|    3 |

|    2 |

+------+

2 rows in set (0.00 sec)

7、查询场景:

查询每个电话的最大id的记录,

mysql> select * from user where id in (select id from  (select max(id) as 'id',tel from user group by tel) a);

+----+---------+-----------+-------------+-----+------+---------+

| id | user_id | user_Name | tel        | sex | addr | salary  |

+----+---------+-----------+-------------+-----+------+---------+

|  2 | 001    | 张三      | 13222222223 | 2  |      | 5500.45 |

|  3 | 003    | 王五      | 13222222222 | 1  |      | 4567.32 |

+----+---------+-----------+-------------+-----+------+---------+

2 rows in set (0.00 sec)

8、应用场景:

删除重复记录,保留没个电话的最大id的那条记录

mysql> delete from user where id not in (select id from (select max(id) as 'id',tel from user group by tel)a);

Query OK, 1 row affected (0.01 sec)

mysql> select * from user;

+----+---------+-----------+-------------+-----+------+---------+

| id | user_id | user_Name | tel        | sex | addr | salary  |

+----+---------+-----------+-------------+-----+------+---------+

|  2 | 001    | 张三      | 13222222223 | 2  |      | 5500.45 |

|  3 | 003    | 王五      | 13222222222 | 1  |      | 4567.32 |

+----+---------+-----------+-------------+-----+------+---------+

2 rows in set (0.00 sec)

mysql>

相关文章

  • 数据库:查重 去重

    用户表全部数据如下,其中有人员的电话相同, mysql> select * from user; +----+--...

  • js数组去重查重

    数组去重 查找重复元素

  • 论文查重以及去重方法

    进入主题: 心科技APP基本的小坑我都填好了,拿什么违规内容也弄好了,就是不知道会不会被再被屏蔽,然后心科技APP...

  • 免费论文查重去重技巧

    最近又到毕业季了,很多小伙伴都要写论文了,这可是一个不小的工程,今天东东给大家讲解很重要的一个环节,那就是查重​!...

  • 知网查重为什么这么贵

    知网查重为什么这么贵 每到临近毕业,大家都会掏钱去知网进行论文查重,论文查重一般需要多次,大家普遍都会抱怨知网查重...

  • 查重

    改论文啊,反反复复的查 心里还是没谱

  • 查重

    不知道查重了几次,不过还没用知网查,感觉贵,其他查重感觉又不靠谱。 牙疼,吃椰子糖吃的太多了。不过舍友带来的鸭肉好...

  • 查重

    今天一整天都忙活着论文的查重,鉴于我昨天已经将论文修改得差不多了,所以早上去实验室的时候慢慢的看着论文,稍加修改着...

  • Turnitin免费查重,国际主流查重系统权威数据库提供专业查重

    学术界一直对论文剽窃十分敏感而且充满争议。作者往往谈其色变,期刊杂志也越来越重视对论文抄袭的检查。如果您的论文投稿...

  • mongo数据库查重

    查找该集合中是否有重复数据,并选择是否进行删除操作 当然还可以使用聚合函数根据指定字段进行去重

网友评论

      本文标题:数据库:查重 去重

      本文链接:https://www.haomeiwen.com/subject/yxmgdttx.html