原生函数

Postgres原生函数

聚合函数sum/avg/max/min/count

合计/平均值/最大值/最小值/行数
{ select: "avg(工资) 平均工资, count(*) 人数", group: "部门" }

类型转换
()::numeric/()::text

()::text得到包含引号的字符串

字符串拼接
concat

concat(字, '-', 号) 字号

截取字符串
substring

substring(日期, 1, 4) 年份

字符串长度
length

length(名称)

分组函数rollup/cube/grouping sets

rollup:生成按照层级进行汇总的小计、合计和总计;cube:产生多维度的交叉统计;grouping sets:指定自定义的分组集;grouping:区分源数据中的空值和分组产生的空值。
{ select: "部门, 性别, count(*) 人数", group: "rollup(部门, 性别)" }
{ select: "部门, 性别, count(*) 人数, grouping(部门, 性别) 分组", group: "grouping sets(部门, 性别)" }

条件函数
case when then end

{ select: "产品名称, sum(case substring((x->>'销售日期'), 6, 2) when '01' then (x->>'销售额')::numeric end) 一月份销售额", group: "rollup(产品名称)" }

窗口函数

sum(月薪) over(partition by x->'部门') 部门总月薪
rank() over(partition by x->'部门' order by x->'月薪' desc) 部门内薪资排名

由众触低代码平台生成和驱动