一、COALESCE函数
COALESCE函数是返回参数中的第一个非null的值,它要求参数中至少有一个是非null的,如果参数都是null会报错,因为COALESCE函数的功能其实就是为了避免出现不想要的NULL值
语法 COALESCE ( expression [ ,...n ] )
参数
expression 任意数据类型的表达式。
n 占位符,指示可以指定多个表达式。
所有表达式必须属于同一类型或者能够隐式转换为同一类型。
返回值
返回 expression 类型集内优先级最高的类型。
例子:
select COALESCE(null,'coalesce函数的test')
查询结果为:'coalesce函数的test'。
二、ROW_NUMBER () OVER()
语法 row_number() over([ partition by col1] order by col2 [desc])
1.row_number()为返回的记录定义各行编号
2. partition by col1以col1列分组
意义:查出来的数据先按照col1列分组,之后再按照col2列排序,最后每一行数据按照顺序编号,返回结果。
例:
select * ,row_number() over( partition by course order by score desc) from student;
查询结果如下: