zoukankan      html  css  js  c++  java
  • group by与disctinct去重

    distinct简单来说就是用来去重的,而group by的设计目的则是用来聚合统计的,两者都能实现去重。

    先说结论:能使用group by代替distinc就不要使用distinct

    distinct支持单列、多列的去重方式。用法必须是(select distinct 列名),主要适用于单列去重。
    单列去重的方式简明易懂,即相同值只保留1个。
    多列的去重则是根据指定的去重的列信息来进行,即只有所有指定的列信息都相同,才会被认为是重复的信息。

    group by使用的频率相对较高,效率高。

    区别:

    1)distinct只是将重复的行从结果中出去;

    group by是按指定的列分组,一般这时在select中会用到聚合函数。

    2)distinct是把不同的记录显示出来。

    group by是在查询时先把纪录按照类别分出来再查询。

    group by 必须在查询结果中包含一个聚集函数,而distinct不用。

  • 相关阅读:
    牛客练习赛9
    Good Bye 2017
    Wannafly挑战赛6
    TOJ1840: Jack Straws 判断两线段相交+并查集
    Codeforces Round #452 (Div. 2)
    TOJ4505: KOSARE
    Codeforces Round #451 (Div. 2)
    牛客练习赛8
    TOJ4168: Same Digits
    TOJ4483: Common Digit Pairs
  • 原文地址:https://www.cnblogs.com/yzwdcjs/p/14439955.html
Copyright © 2011-2022 走看看