好用的函数
一、group_concat函数
完整语法:group_concat([DISTINCT] 要连接的字段 [Order BY ASC/DESC 排序字段] [Separator '分隔符'])
参考网址:https://blog.csdn.net/qq_35531549/article/details/90383022
二、regexp_replace函数 (还可以用substr(t.product,1,length(t.product)-2) )
修改并替换函数(示例如下):
三、lag函数 可以加工当前阶段和上一阶段数据(作用:行转列)
,a.当前事件key, --AS 当前事件key,
,a.客户端当前事件上报时间 --AS 客户端当前事件上报时间,
,a.当前事件上报时间_毫秒 --AS 当前事件上报时间_毫秒
,LAG(a.当前事件key,1,NULL) over(PARTITION BY a.设备id,a.用户id ORDER BY a.客户端当前事件上报时间) AS 上一阶段事件key --上一阶段事件key
,LAG(a.客户端当前事件上报时间,1,NULL) over(PARTITION BY a.设备id,a.用户id ORDER BY a.客户端当前事件上报时间) AS 上一阶段客户端事件上报时间 --上一阶段客户端事件上报时间
,LAG(CAST(当前事件上报时间_毫秒 AS BIGINT),1,NULL) over(PARTITION BY a.设备id,a.用户id ORDER BY a.客户端当前事件上报时间) AS 上一阶段事件上报时间_毫秒
--上一阶段事件上报时间_毫秒
四、SQL正则提取字符
regexp_extract(字段名,'[\u4e00-\u9fa5]{4}',0) AS s --提取4个中文字符
五、时间戳转化为日期格式
to_date(from_unixtime(CAST(时间戳字段/1000 AS int))) --输出格式举例:2024-01-10