- 博客(41)
- 收藏
- 关注
原创 窗口函数的实现
窗口函数的实现 & MySQL 实现窗口函数功能; 众所周知: MySQL从8.0版本开始支持窗口函数, 但是对于8.0版本之前的MySQL是无法使用窗口函数的, 我们可以通过一个类似嵌套子查询的方式, 来实现窗口函数的功能;
2024-03-14 12:06:28 389
原创 SQL的窗口函数
窗口函数分类:聚合函数、排序函数和值函数。SQL中的窗口函数是一种特殊的函数,它能够在查询结果中创建一个窗口或者窗口集合,然后对这个窗口进行计算。窗口函数可以用于分析和汇总数据,同时保留原始查询结果的行顺序。窗口函数基于查询结果的行数据进行计算,窗口函数运行在HAVING子句之后、 ORDER BY子句之前。窗口函数需要特殊的关键字OVER子句来指定窗口即触发一个窗口函数。
2024-02-29 09:09:01 1156
原创 SQL中的 CASE WHEN用法详解
CASE WHEN语句提供了一种在 SQL 查询中根据不同条件执行逻辑的灵活方法。它可用于简单的条件检查,也可用于复杂的逻辑操作。使用CASE WHEN可以使查询更具可读性,并且可以减少在应用程序代码中进行逻辑操作的需要。
2024-02-23 17:49:05 1701
原创 计算每小时累计销售额
本题的核心是找到小时级别的序列,‘统计每年在校人数’ 也是相同类型的题目, 可以熟练使用, 不管是天级别,小时级别,分钟级别 都可以使用次方法实现;‘统计每年在校人数’: https://blog.csdn.net/Taerge0110/article/details/135137626?
2024-01-25 17:12:33 794
原创 SQL中的几个区别
1:几种JOIN连接方式的区别?2:几种排序窗口函数的区别?3:on和where的区别?4:having和where的区别?5:union和union all的区别?6:in和exists的区别?7:数据库中空字符串、0和NULL的区别?8:count(1)、count(*)和count(列名)的区别?
2024-01-18 12:21:19 1370
原创 Python实现数据库表的监控告警功能
简介:使用Python 实现对数据库表的监控告警功能, 并将告警信息通过钉钉机器人发送到钉钉群实现DataWorks中数据质量的基本功能, 当然 DW的数据质量的规则类型很多, 用起来比较方便, 这里只简单实现了其中两个规则类型的功能, 仅供参考;初次使用Python, 请多指教使用工具: MaxCompute。
2024-01-05 18:52:37 434
原创 Transactional Table(事务表)创建和使用
创建可以支持增删改操作(insert,delete,update)的事务表; 使用工具: maxcomputer; 本次创建 Transactional Table 1.0表; 初次使用,欢迎指教;
2024-01-03 18:20:39 559
原创 Hive的四种排序方法
hive有四种排序方法: ORDER BY 、SORT BY 、DISTRIBUTE BY 、CLUSTER BY。hive排序方法,hive的排序方式。
2023-12-22 15:30:45 1645
原创 统计每年在校人数
posexplode() 函数: 该函数可以将index和数据都取出来。可以使用 index 作为值和招生年份相加, 得出在校年份, 因为index是从0 开始的, 所以需要将年制 加1。
2023-12-21 18:32:23 356
原创 间断连续登陆天数问题
统计用户最大连续登陆天数, 间隔一天也算是连续登陆;例如: 用户 1 3 5 8 登陆, 算做连续登陆5天是连续登陆天数的升级版, 结合浏览窗口划分。
2023-12-11 17:35:48 941
原创 使用相同IP的用户
使用相同IP的用户问题:根据用户登录信息表(uuid,ip,log_in_time), 统计出使用相同ip数超过3个的, 登陆的用户有哪些.(也可以根据相同ip数, 时间等条件, 判断哪些用户是同一个人)
2023-12-06 16:49:37 347
原创 工作日各时间段的叫车量、等待时间、调度时间
统计周一到周五各时段的叫车量、平均等待接单时间和平均调不同时段定义:早高峰 [07:00:00 , 09:00:00)、工作时间 [09:00:00 , 17:00:00)、晚高峰 [17:00:00 , 20:00:00)、休息时间 [20:00:00 , 07:00:00)全部以event_time-开始打车时间为时段划分依据,平均等待接单时间和平均调度时间均保留1位小数,平均调度时间仅计算完成了的订单,结果按叫车量升序排序。时间区间左闭右开(即7:00:00算作早高峰,而9:00:00不算做早高峰)
2023-12-06 11:41:21 1004
原创 找出恶意买家(恶意购买用户)
订单表包含字段: order_id(订单id), user_id(用户id), order_status(订单状态), operate_time(操作时间)在任意半小时内, 取消订单订单次数 >= 3 次的用户, 被认为是恶意购买用户(恶意买家), 找出订单表里的恶意购买用户;
2023-11-23 15:50:19 69
原创 浏览窗口划分
规定同一个用户,在相邻两次浏览时间间隔不超过60s, 算做是同义词浏览(在同一个浏览窗口, 同一个会话);为浏览记录表增加一个浏览id(浏览窗口)字段, 同一个浏览窗口浏览id相同;题目: 有浏览记录表, user_id(用户编号), page_id(界面编号), view_timestamp(浏览时间戳)会话划分,浏览窗口划分, 浏览记录分段划分。
2023-11-22 17:27:24 65
原创 日期交叉问题(求总共(打折)活动日期天数,(打折)活动日期有交叉)
方法一较方法二复杂一点方法二会发生数据膨胀现在, 适合小数据量使用, 方法一不会出现数据膨胀现在, 推荐使用方法一;
2023-11-22 12:23:53 106
原创 MapJoin 的使用方法
在对大表和一个或多个小表执行join操作时,mapjoin会将您指定的小表全部加载到执行join操作的程序的内存中,在Map阶段完成表连接从而加快join的执行速度。要使MapJoin能够顺利进行,那就必须满足这样的条件:除了一份表的数据分布在不同的Map中外,其他连接的表的数据必须在每个Map中有完整的拷贝。mapjoin在Map阶段执行表连接,而非等到Reduce阶段才执行表连接,可以缩短大量数据传输时间,提升系统资源利用率,从而起到优化作业的作用。mapjoin中多个小表用英文逗号(,)分隔,例如/
2023-10-27 18:21:48 696 1
原创 DataWorks 数据质量 规则配置方法 - 按表配置&按模版配置
填写分区表达式, 可以选择手动配置规则/自动落标规则, 然后选择模版规则自定义规则。[修改规则名称] -> [填写描述信息] -> [修改高级属性] -> 下一步。进入数据质量, 选择规则管理 -> 按模版配置 -> 选择模版。添加表 -> 填写分区表达式 -> 生成规则。规则列表 -> 修改规则 -> 修改信息 等。在操作界面,可以修改规则, 填充订阅信息等。配置完成之后,可以在规则列表查到相应规则。关联调度节点 -> 试跑 -> 保存。创建规则, 模版规则/自定义规则。点击 -> 查看历史结果。
2023-10-25 10:01:18 323 1
原创 ERP踩得坑之空格&大小写
ERP 字符串后带不带空格,都可以查到, 查询结果都一样(前面有空格不行)MaxComputer 字符串前后有空格都匹配不到, 必须和目标字符串相同。
2023-10-11 14:31:48 52
原创 Hive函数(单行,聚合,炸裂,窗口)
基本语法:函数 + over( [partition by …] [order by …] [窗口子句] )
2023-08-30 17:21:55 42
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人