几个数据库踩坑经验

IQ库注意事项
  • case when …函数返回值必须跟字段类型一致(数值型)
  • 开窗函数如row_number() over()不能参与where、group语句(需要根据开窗函数筛选分组时,可添加嵌套查询,建立外层查询,将开窗函数的返回结果作为独立字段进行相关查询)
  • 聚合函数存在于子查询时,order by必须放在最外层
  • 字符串拼接可直接用+或||:‘A’+‘B’ or ‘A’||‘B’
字段别名踩坑

clickhouse、AnalyticDB MySQL这两个库都是列式存储,全索引。所以对于字段要求很严谨,注意在查询与别名设置时,不要使用重复名称

示例

select
		data_date
		,brand
		,live_room_id
		,flow_type
		,'订单中心' flow_dtl1 #这个字段别名与json中的flow_dtl进行区分,若一样,则此字段会被默认为json类型
		,json_extract(flow_dtl,'$.订单中心') flow_ratio 
	from kscs_ods.ods_ec_compass_live_flow_stats
AnalyticDB MySQL踩坑
  • 时间戳转换FROM_UNIXTIME
    有时候要转换时间戳的字段值并不是数字样式就可以直接转,尤其是json返回的值,记得先*1.0再转。而且一定要注意是秒还是毫秒级的转换

AnalyticDB MySQL实例
先乘1.0再/1000

date_format(FROM_UNIXTIME(json_extract
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值