惠城区城乡规划建设局网站,自动制作视频的软件,苏州企业黄页,360建筑网登录文章目录1. DQL执行顺序2. 函数2.1 字符串函数2.2 数值函数2.3 日期函数2.4 流程函数2.5 窗口函数2.5.1 介绍2.5.2 聚合窗口函数2.5.3 排名窗口函数2.5.4 取值窗口函数1. DQL执行顺序 2. 函数
2.1 字符串函数
函数功能concat(s1,s2,…sn)字符串拼接#xff0c;将s1,s2…sn拼…
文章目录1. DQL执行顺序2. 函数2.1 字符串函数2.2 数值函数2.3 日期函数2.4 流程函数2.5 窗口函数2.5.1 介绍2.5.2 聚合窗口函数2.5.3 排名窗口函数2.5.4 取值窗口函数1. DQL执行顺序 2. 函数
2.1 字符串函数
函数功能concat(s1,s2,…sn)字符串拼接将s1,s2…sn拼接成一个字符串lower(str)将字符串str全部转为小写upper(str)将字符串str全部转为大写lpad(str, n, pad)左填充用字符串pad对str的左边进行填充达到n个字符串长度rpad(str, n, pad)右填充用字符串pad对str的右边进行填充达到n个字符串长度trim(str)去掉字符串头部和尾部的空格substring(str, start, len)返回字符串str从start位置起len个长度的字符串
2.2 数值函数
函数功能ceil(x)向上取整floor(x)向下取整mod(x/y)返回x/y的模rand()返回0~1的随机数round(x,y)求参数x的四舍五入的值保留y位小数
2.3 日期函数
函数功能curdate()返回当前日期curtime()返回当前时间now()返回当前日期和时间year(date)获取指定date年份month(date)获取指定date月份day(date)获取指定date日期date_add(date, INTERVAL expr type)返回一个日期/时间值加上一个时间间隔expr后的时间值date_sub(date, INTERVAL expr type)返回一个日期/时间值减去一个时间间隔expr后的时间值datediff(date1, date2)返回起始时间date1和结束时间date2之间的天数
2.4 流程函数
函数功能if(value, t, f)如果value为true则返回t否则返回fifnull(value1, value2)如果value1不为空返回value1否则返回value2case when [val1] then [res1] … else [default] end如果val1为true返回res1…否则返回default默认值case [expr] when [val1] then [res1] … else[default] end如果expr的值等于val1返回res1…否则返回default默认值
2.5 窗口函数
2.5.1 介绍
窗口函数可以像聚合函数一样对一组数据进行分析并返回结果二者的不同指出之处在于窗口函数不是将一组数据汇总成单个结果而是为每一行数据都返回一个结果。
窗口函数定义
窗口函数名称 ([可选的分析字段或表达式]) over(# 分区partition by ...# 排序order by ...# 窗口大小frame_clause
)over 子句用于指定一个数据分析窗口。 partition by 类似于 group by会分别针对每个分区单独进行分析。 order by 用于指定分区内数据的排序方式 frame_clause 用于指定一个移动的分析窗口窗口总是位于分区的范围之内是分区的一个子集。在制定了分析窗口之后窗口函数不再基于分区进行分析而是基于窗口内的数据进行分析。 指定窗口函数大小的具体选项如下 {rows | range} frame_start
{rows | range} between frame_start and frame_endrow 表示以数据行为单位计算窗口的偏移量range 表示以数值10天、5千米等为单位计算窗口的偏移量 frame_start 用于定义窗口的起始位置包括以下内容 unbounded preceding表示窗口从分区的第一行开始n preceding表示窗口从当前行之前的第n行开始current row表示窗口从当前行开始 frame_end 用于定义窗口的结束位置包括以下内容 current row表示窗口从当前行结束n following表示窗口从当前行之后的第n行结束unbounded following表示窗口到分区的最后一行结束
2.5.2 聚合窗口函数
avg、sum… over()
2.5.3 排名窗口函数
排名窗口函数可以用来获取数据的分类排名常见的排名窗口函数如下
排名窗口函数描述row_unmber()为分区中的每行数据分配一个系列号序列号从1开始rank()返回当前行在分区中的名次如果存在名次相同的数据后续的排名将会产生跳跃dense_rank()返回当前行在分区中的名次即使存在名次相同的数据后续的排名也是连续的percent_rank()以百分比的形式返回当前行在分区中的名次。如果存在名词相同的数据后续的排名将会产生跳跃cume_dist()计算当前行在分区内的累积分布ntile(n )将分区内的数据分为n等分并返回当前行所在的分区位置
排名窗口函数不支持动态的窗口大小选项而是以整个分区作为分析的窗口。
2.5.4 取值窗口函数
取值窗口函数可以用来返回窗口内指定位置的行数据常见的取值窗口函数如下
取值窗口函数描述lag()返回窗口内当前行之前的第n行数据lead()返回窗口内当前行之后的第n行数据first_value()返回窗口内第一行数据last_value()返回窗口内最后一行数据nth_value()返回窗口内第n行数据