SQL笔记二(GROUP BY)

2023-04-17 16:15:49 浏览数 (1)

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

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

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

GROUP BY就是分组函数

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

代码语言:javascript复制
select sum(体重) ,性别 from 表明 group by 性别 ;

则能得到结果 男 180 女 70

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

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

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

姓名

班级

性别

分数

张1

1班

60

张2

1班

70

张3

1班

80

张4

1班

80

张5

2班

70

张6

2班

60

张7

2班

80

代码语言:javascript复制
select 班级,性别,AVG(分数) as 平均分
from test
group 班级,性别

得出的结果是

班级

性别

平均分

1班

70

1班

75

2班

75

2班

60

这样就好理解多了。

0 人点赞