distinct

作者: Jokerone_ | 来源:发表于2017-05-17 14:20 被阅读0次

    distinct只能返回它的目标字段,而无法返回其它字段,
    有如下记录表:

    select * from user2;
    

    当只对username去重时,可以过滤掉相同的username记录。

    select distinct username from user2;
    

    但是,当使用如下sql语句是,distinct貌似失效了。

    select distinct username,userid from user2;
    

    原因是,它同时作用了两个字段,只有username和userid都相同时才会被排除。而且distinct关键字必须使用在sql语句的最开始位置。
    级联查询也会有同样的问题出现:

    select distinct u1.username,u2.* from user2 u1 ,user2 u2 where u1.userid = u2.userid;
    

    解决方法如下:

    select username,`userid` from user2 group by `username`;
    

    在这里使用group by 函数进行了去重操作。

    相关文章

      网友评论

          本文标题:distinct

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