抓取资料库数据 - SQL基础语法(中)

上次我们已经学会要怎麽从资料库依照各个表取出我们想要的栏位,也可以透过条件筛选的方式过滤我们想要的资料。接下来,让我们更进一步来透过SQL语法整理我们想要的资料样貌。

如果我们想要将资料透过分组的形式呈现该怎麽办呢?

SELECT AVG(栏位名),COUNT(栏位名),SUM(栏位名),栏位名
FROM 表名
GROUP BY 栏位名;

没错!要使用到GROUP BY ,这个有点像是Excel里的枢纽分析表,可以透过选择自己想要的栏位,将数值做各种运算(加总、平均、计数等)来呈现。

而当我们使用了GROUP BY後,又想要根据该表筛选对应的条件该怎麽办呢?此时或许你会说可以使用上次我们已经学过的WHERE。可惜!差一点点,在使用GROUP BY後并不能使用WHERE,针对分组过後的筛选这时我们要用到另外一个指令HAVING

SELECT AVG(栏位名1),COUNT(栏位名2),SUM(栏位名3),栏位名4
FROM 表名
GROUP BY 栏位名4
HAVING 条件;

HAVINGWHERE还有一个差别就是,聚合函数(类似於AVG、SUM等)并不能放在WHERE的条件哩,但却可以在HAVING的条件里使用!

呼~~已经筛好想要的资料表,那针对这些资料如果想要做排序该怎麽办?

SELECT AVG(栏位名1),COUNT(栏位名2),SUM(栏位名3),栏位名4
FROM 表名
GROUP BY 栏位名4
HAVING 条件
ORDER BY 栏位名4;

ORDER BY的预设中是采升序排列(由小到大)语法为ASC,如果想要降序排列(由大到小)的话,则要再加上DESC

SELECT AVG(栏位名1),COUNT(栏位名2),SUM(栏位名3),栏位名4
FROM 表名
GROUP BY 栏位名4
HAVING 条件
ORDER BY 栏位名4 DESC;

上述是本篇的内容,有很多函数和语法这里没有提及,因此这边推荐给大家一个超棒的学习资源-SQLbolt!

学习SQL常常遇到的第一步是要去哪里找资料库,要怎麽安装My SQL等等问题,但是透过这个线上教学平台,以上问题迎刃而解!透过章节安排,一步一步练习基础需要学习的语法,非常推荐新手的各位在上面学习,快的话一天就可以全部练习完罗!

推荐学习资源:

https://sqlbolt.com/

万用百科:

https://www.1keydata.com/tw/sql/sql.html

https://www.w3school.com.cn/sql/index.asp


<<:  企划实现(17)

>>:  Day19 - 汇入 excel-测试篇

Day3:交叉验证法(Cross-validation)

  在开始运用之前,先来了解几个机器学习上常用的概念。   首先是交叉验证法(Cross-valid...

计算API所需要的参数: 内文杂凑

嗯 API 所需要的参数内文杂凑 … 依照规格说明书的指示,需要以下的流程 (1) 先移除所有空值的...

Day 22 | 使用相机获取影像

相机 可以使用Intent的方式(可复习Activity内容),开启装置上的相机应用程序获取影像,回...

D3(9/3)-中钢(2002)

注:发文日和截图的日期不一定是同一天,所以价格计算上和当日不同,是很正常的。 买进中钢(2002) ...

企划实现(3)

企划发想过程 第一步 寻找需求 在一个企划的发想初期最先要做的事是找到市场,当你找到了市场才能继续做...