SQL笔记二(GROUP BY)

代码相关 数据库 我爱学习 sql

刚刚修复了typecho的CateFilter插件某种情况下会重复输出文章的bug,就是用的GROUP BY语法。

我修的过程其实一点都不了解GROUP BY,因为百度搜索sql去重复的时候推荐了这个我就用了。然后想起来自己写过《SQL笔记一》的文章,而且文章过去挺久的了,所以我就想是时候再水一篇文章了。

然后就百度查GROUP BY到底是干嘛的,搜到了各种优秀例子,各种说明,我都没看懂!然而,突然看到了个非常浅显的例子我就懂了。

GROUP BY就是分组函数

比如 现有
性别 男 3 人 体重 50KG/60KG/70
性别 女 2 人 体重 40KG/30KG
这时 你用到GROUP BY进行分组

select sum(体重) ,性别 from 表明 group by 性别 ;

则能得到结果
男 180
女 70

等于说 是按照你所GROUP BY的东西进行分组 ,然后再对分组内的东西进行操作

就是这么个简单的例子,我们就可以理解这个函数的作用了,也能理解为什么他们够去除重复行。比如这个例子按某性别列的值分组,那么值相等的为一组,所以就排除掉了其他的

上面是GROUP BY接单列的例子,那么多列又是什么样呢?

姓名班级性别分数
张11班60
张21班70
张31班80
张41班80
张52班70
张62班60
张72班80
select 班级,性别,AVG(分数) as 平均分
from test
group 班级,性别

得出的结果是

班级性别平均分
1班70
1班75
2班75
2班60

这样就好理解多了。

Comments (3)

    Generic placeholder image
    夏目贵志

    现在你会的东西越来越多了

    赶紧py大腿一波 从此走上人生巅峰,迎娶白富美

    Windows10 130天前回复

      Generic placeholder image
      泽泽社长
      @夏目贵志

      这东西就是用的时候查一查,记录下以免自己忘了

      Windows7 130天前回复

        Generic placeholder image
        夏目贵志
        @泽泽社长

        上次那个数据库支持emoji 命令 搞得 数据库 报废了。。。

        Windows10 130天前回复