一、背景:
本文记录的是SQL学习过程中汇总分析的知识内容和练习题
练习题来源:SQLZOO中SELECT from Nobel Tutorial和SUM and COUNT两部分的练习题,地址如下
SQLZOOsqlzoo.net二、汇总分析重要知识点
2.1汇总分析
1)常用汇总函数:count、sum、avg、max、min
2)count函数:参数是列名时,输出的是除去空值的列数;当参数是*时,计算全部的行,也就是包含空值
3)所有汇总函数,参数是列名时,都会先排除空值再计算
4)在使用汇总函数时,都可以在列名前面加上distinct,以删除重复值后再汇总
5)sum和avg函数只能对数值类型的列计算,其他汇总函数则可以计算任何类型
2.2分组
1)分组子句group by,通常和汇总函数一起使用,执行逻辑是:数据分组→应用函数→组合结果
2.3对分组结果指定条件
1)对分组进行条件判断用having子句,运行顺序:from→where→group by→having→select
2.4用sql解决业务问题的过程
1)把问题翻译成大白话:把问题翻译成容易理解的意思
2)写出分析思路:按子句顺序,写出每个子句,分析哪些子句有内容
3)写出对应的sql子句:写出对应子句,进行组合
2.5对查询结果排序
1)用order by子句进行排序,desc降序、asc升序
2)order by后面可以跟多个排序规则,先排第一个,再排后面的
3)使用含有空值的列来排序,空值null会在查询结果的开头显示,当想要检查数据列是否有空值时可以用这个方法
4)只想返回几行数据时,用limit子句
5)运行顺序:from→where→group by→having→select→order by→limit
2.6看懂报错信息
1)在where和having子句中,不能使用select子句中定义的别名,因为select子句后运行
2)在where子句中不能使用汇总函数
3)字符串类型的数字,在比较大小时如果不知道是字符型数字,会误以为结果出了问题。解决办法是,可以先转化数据类型再比较或排序
三、练习
3.1SELECT from Nobel Tutorial练习题
12题的延申知识点:查询的条件词中有单引号'的,再加一单引号来转义
3.2SUM and COUNT练习题