• 你对Group By 的使用是否有误解


    数据库group by 用到的也比较多,单列和聚合计算列放在一起时,进行分组查询操作。

    但是如果没有聚合计算,只有单列进行查询,并且使用 group by语句呢??

    下面进行试验检测,看看结果有什么不同。

    以SQLserver 数据库测试

    首先创建一个test表,只有col1 一列

    CREATE TABLE [dbo].[test1] (
    [col] varchar(255) COLLATE Chinese_PRC_CI_AS NULL
    )

    向其中插入数据

    a
    a
    a
    b
    b
    b
    b
    b
    c
    c
    c
    d

    查询结果

    所有数据都被查询出来

    使用 group by :发现只有四条数据???

    问号??你是否有很多小朋友????

    通过结果,我们很容易发现,group by实现的效果好像和 distinct 相同

     

     其实不难理解,group by 就是要根据 列进行分组,当你有 聚合函数的时候那就给你统计出来聚合函数的结果,当你不要结果的时候,那就只给你进行合并

    虽然效果和distinct相同,但是不建议大家这样使用,让人看了 一脸懵逼,还有就是容易误导新人。

    所以不要所有的sql都带group by  

    1 对新手 不好理解,不如distinct 更直观

    2 容易忽视,导致结果不正确。 可能某天就忘了,为什么加了,从别的地方直接搬过来用了,得到的记过不正确。

    3 可能会影响性能。

    4 如果真的要使用的时候,sql会进行提醒。

    当然 该使用的还是要使用的,只是不要画蛇添足。

  • 相关阅读:
    MMT
    dappradar 分布式应用雷达
    dac去中心化自治公司
    如何立即手动执行BW周期性处理链
    BW之数据源 增量管理DELTA (比较详细的)
    abap问题:call transformation出来的xml字符串不能被proxy识别
    SHIFT 去掉前导0,SHIFT语法
    浅谈SAP实施过程中关键用户的作用
    什么是UAT测试?
    FI 基础财务知识
  • 原文地址:https://www.cnblogs.com/com-xiaolanchong/p/12744738.html
Copyright © 2020-2023  润新知