1. 行转列的概念
  2. CASE WHENTHEN ELSE应用(重点)
  3. 聚合函数SUM实现行转列(重点)
  4. 行转列的分组筛选(重点)
  5. 行转列的除NULL查询(难点)

一:CASE WHEN THEN ELSE END 的应用:

目的:
根据不同的列值进行判断,输出我们指定的值
使用场景:
可以实现类似JAVA中的if条件结构的用法,根据不同的值进行流转。
语法:
select 列名,CASE 列名1 WHEN ‘值1’ THEN ‘输出值’end
from 表名
实际代码应用:
select *,CASE items WHEN ‘苹果7’ THEN ‘iphone 7’end
from 表名

ELSE:
加在 THEN 输出的值后面,END结束之前
实际代码应用:
select *,CASE items WHEN ‘苹果7’ THEN ‘iphone7’ ELSE
END from 表名
好处:
可以过滤非指定输出的结果(处理NULL)

二:SUM()函数:

目的:
对列进行 求和并返回一个值。
使用场景:
可以在数据库中将我们需要累计统计的列进行累加,并最终发挥
一个值。
语法:
select sum(列名) from 表名
实际代码应用:
select sum(id) fromsalecounts

三: Group By( )函数:

目的:
对已经查询出的数据进行划分区域,划分区域的目的就是为了保证,
相同的值只出现一次。保证数据在统计时的唯一性。
使用场景:
对已经查询的数据进行2次筛选,去掉重复部分。
语法:
select * from 表名 group by date
实际代码应用:
selectdate,items,sum(CASE items WHEN ‘苹果7’
THEN counts end ) as ‘日销量数’
from salecounts groupby date

四:ELSE 对结果进行除NULL

目的:
对已经查询出的结果,进行处理,达到我们想要的效果。
使用场景:
查询结果中有NULL 就可以使用
实际代码:
select date,items,sum(
CASE items ‘苹果7’ THEN counts ELSE 0
)END AS ‘输出’
from salecounts

五: 使用IFNULL对结果进行处理

目的:
对已经查询出的结果,进行处理,达到我们想要的效果。
使用场景:
查询结果中有NULL 就可以使用

实际代码:
select date,
IFNULL(sum(CASEitems WHEN ‘苹果7’ THEN counts
end),0)as ‘苹果7’,
IFNULL(sum(CASE items WHEN ‘苹果鼠标’ THEN
counts end),0) as ‘苹果鼠标’
from salecounts group by date
注意:
使用IFNULL的时候中间不能有空格,必须保证两个单词是连贯的

更多相关文章

  1. %d和%s的目的是什么?
  2. 函数参数中裸星号的目的是什么?
  3. 用于Python项目的低内存和最快查询数据库
  4. 具有1位条目的numpy布尔数组
  5. 返回没有匹配条目的所有日期
  6. Android Studio 项目的导入以及依赖
  7. 抽象批处理SFTP多目的地和自动重试
  8. [java混淆器问题] 如何让web项目的class文件不能被反编译,又能在w

随机推荐

  1. MYSQL常用命令(1)
  2. CentOS8 autofs自动挂载服务
  3. MYSQL常用命令(2)
  4. 最近,大厂前端面试都问些什么问题
  5. React VS Vue:2020年应该选哪个?[每日前端
  6. 每日学习-ansible replace模块
  7. MYSQL常用命令(3)
  8. 为什么我喜欢 JavaScript 可选链[每日前
  9. Java内存模型-本机内存
  10. 为什么要使用 package-lock.json[每日前