引言
刷题连接:牛客网mysql刷题
MySQL刷题个人总结——窗口函数
MySQL刷题个人总结——内置函数
上两篇简单的系统的介绍了关于mysql的函数方法,对于普通的查询都适用。但是,在有些查询题中,存在一些特定的条件,或者要求输出特定的结果,那么函数在此时就显得不那么好用了。本篇则针对于那些特殊的条件或要求,去解决查询问题。
特殊方法
01、having
适用场景:将表按照某一列进行分组后进行 sum/avg/count 等操作,然后根据操作后的表依照给定条件得出结果
附:在 SQL 中增加 HAVING 子句原因是,WHERE 关键字无法与聚合函数一起使用。
实例:SQL经典第62题
02、case when
语法:case when(条件)then (结果1) else(结果2)end
适用场景:
1、根据分数划分等级
2、根据某些条件统计表中数据并进行汇总
3、经典行转列,并配合聚合函数做统计
附:sql中的case when类似于java中的if else
实例:SQL经典第69题、第75题、第83题
03、exists
实例:SQL经典第57题
总结
本文为个人的刷题总结,可能不太全面,请见谅。
case when 用法讲解