现在的位置: 首页 > 综合 > 正文

mysql的去重复处理

2017年12月26日 ⁄ 综合 ⁄ 共 790字 ⁄ 字号 评论关闭

mysql的去重复处理

在使用mysql时,有时需要查询出某个字段不重复的记录,mysql提供有distinct这个关键字来过滤掉多余的重复记录只保留一条。

注意该查询只是简单地检索每个记录的列,并且他们中的一些出现多次。为了使输出减到最少,增加关键字DISTINCT检索出每个唯一的输出记录。

talbe name: userinfo

     uid       passport     addtime

     1          A                  2012-04-10

     2         B                  2012-04-10

     3         A                  2012-04-10

     4         B                 2012-04-10

     5         B                 2012-04-10

语句:select  distinct  passport  from  userinfo

结果:

passport

      A

      B

但有的时候我们需要检索出这条记录在表中出现了多少次那么sql语句该怎么写呢?

语句:select distinct passport,count(*)  as hits from userinfo group by passport

结果:

passport    hits

A                  2

B                 3
更进一步说我想获得这个表中的其他一些信息呢(比如将其中出现三次以上的记录筛选出来呢)

语句:  select   t.passport  from (   select distinct passport,count(*)  as hits from userinfo group by passport )  t    where t.hits>2

结果:

passport

B

抱歉!评论已关闭.