- 博客(18)
- 收藏
- 关注
原创 Linux基础命令大全
本文总结了Linux系统常用操作命令,主要包含四部分内容:1)目录操作(创建/复制/剪切/删除文件夹及tree查看);2)服务管理(服务启停、状态查看及防火墙控制);3)定时任务管理(crontab任务增删查);4)Shell编程(变量操作、字符串处理、数组操作、数值计算、条件判断及sed/grep/awk文本处理)。内容涵盖Linux基础命令、服务管理、脚本编程等核心知识点,可作为Linux系统操作的快速参考手册。
2025-10-27 19:04:12
1184
原创 【干货】一文学完 Hive:库表操作、分区分桶、文件压缩与调优技巧全汇总
本文系统介绍了Hive数据仓库工具的核心知识与使用技巧。主要内容包括:Hive与Hadoop的关系、与传统数据库的对比;基础操作如数据库/表操作(DDL)、分区/分桶表设计;文件格式与压缩方式选择,重点讲解ORC列式存储特性;四种排序方式及其应用场景;常用交互命令与执行方式;性能优化技巧如SMB连接、桶优化和Map优化。文章从基础概念到高级特性,全面覆盖Hive的核心功能,特别适合准备深入学习Hive、搭建离线数仓或面试数仓岗位的读者,帮助从基础使用提升到优化应用水平。
2025-10-17 19:30:25
1924
原创 Orcale查询
本文分析了四个SQL查询题目: 查询18-20岁女生或未填性别的学生,按实际年龄降序; 查询班级学生信息,显示缴费金额(元),按班级和姓名排序; 统计各班人数(≥2人),按人数降序; 统计男女数量,未填性别计为男。每个题目都给出了查询思路和最终SQL代码,涉及NULL处理、日期计算、分组统计等操作。
2025-10-11 20:21:21
856
原创 Oracle查询:组织机构树形结构递归查询实战
本文介绍了使用递归查询分析机构层级关系的方法。针对两种查询需求:1)查询002机构下的所有层级机构,通过从002开始向下递归查找所有下级;2)查询511机构上的所有层级机构,通过从511开始向上递归查找所有上级。两种查询都使用WITH子句实现递归,分别通过PORGID=002和ORGID=511作为初始条件,通过连接条件实现递归遍历。文章提供了完整的建表语句、数据插入示例和两种查询的SQL实现方案,展示了处理树形结构数据的递归查询技术。
2025-10-09 17:26:41
512
原创 Oracle查询:订单金额占比与排名分析
文章摘要: 本文介绍了两种SQL查询方法,用于分析客户每日订单金额及其占比排名。方法一通过三个CTE步骤:先计算客户每日订单金额,再获得每日总金额,最后计算占比和排名。方法二使用窗口函数简化计算,直接在分组聚合中嵌套SUM函数获取每日总金额,并利用RANK()函数处理排名。两种方法都能实现查询每个客户在各日期的订单金额、占当日总金额的百分比(保留两位小数)以及金额占比排名,其中方法二代码更简洁高效。查询结果按日期和客户ID排序输出。
2025-10-06 12:23:50
928
原创 Oracle查询:连续签到领积分
摘要:本文分析了2021年7月7日至10月31日期间用户连续签到获取金币的规则。通过SQL查询筛选有效签到记录,使用窗口函数判断连续签到天数,并按7天周期计算金币奖励:第3天3金币(1+2),第7天7金币(1+6),其他天数1金币。最终按月汇总每位用户获得的金币总额,并按月份和用户ID排序输出。该方案准确计算了活动期间各用户每月累计获得的金币数。
2025-10-03 11:12:30
954
原创 Oracle查询:统计申请与受理间隔超过10个工作日的ID记录
文章摘要:本文提供两种SQL查询方法,用于查找申请日期(sdate)和受理日期(ldate)之间工作日超过10天的ID。方法一使用子查询统计a表中状态为'Y'的有效工作日数;方法二通过左连接和分组聚合实现相同功能。两种方法均能正确识别出ID为S002的记录(6月3日至6月26日,含16个工作日)和S005的记录(6月18日至6月27日,含11个工作日),这些ID的处理周期超过了10个工作日的要求。
2025-10-01 10:13:45
693
原创 Oracle查询:计算每一年的在校总人数
本文介绍了使用递归CTE处理学生在校年份数据的方法。通过将每条入学记录按学制年限展开,生成每批学生在各学年在校的记录。核心逻辑是:2018年入学3年制的学生,在校年份为2018-2020年。实现步骤包括:1)建立递归CTE,逐年递增在校年份;2)当递增年份小于学制年限时继续递归;3)最终按在校年份分组汇总学生人数。该方法可准确统计各学年在校学生总数,并按学年排序输出结果。
2025-09-29 14:40:51
641
原创 Oracle查询:同时在线人数最高?最高峰的时间段?
文章摘要:本文通过分析用户在线时间段数据,计算一天内最高同时在线人数及出现时间。首先创建测试表test01和test02存储用户上下线时间,然后通过SQL查询将事件拆分为上线(+1)和下线(-1)记录,按时间排序后计算累计在线人数。最终结果显示最高峰在线人数为3人,时间区间为15:18:12至16:12:12,这是通过窗口函数和LEAD()函数分析得出的结果。
2025-09-26 10:56:24
691
原创 Oracle查询
该SQL查询计算每个用户最终有效金额,处理规则如下: 按user_id分组并按data日期排序 负数金额必须冲销最近的前一个正数(不能跨正数冲销) 最终只输出正数记录及其冲销后剩余金额 实现步骤: 标记正数记录(diff=1)并生成分组ID(group_id) 在每个分组内按日期降序累计金额(sum1) 筛选正数记录(diff=1)作为结果 示例结果展示了正数记录被后续负数冲销后的剩余金额,如用户aa的第一笔1000被两笔负数冲销后剩余700。
2025-09-22 21:06:05
469
原创 Oracle查询:查找满足条件的雇员ID
摘要:该SQL查询解决公司招聘问题,要求在7万美元预算内优先雇佣尽可能多的高级员工(Senior),再用剩余预算雇佣初级员工(Junior)。
2025-09-17 20:03:30
454
原创 力扣569.员工薪水中位数
摘要:本文介绍了两种方法查找每个公司的工资中位数。通用方法一使用窗口函数row_number()方法二针对Oracle数据库,利用median()函数计算中位数。
2025-09-15 13:58:26
721
原创 Oracle递归查询
本文介绍了如何计算每个产品在不同年份的销售总额。通过分析产品表和销售表,使用递归CTE生成年份范围,计算每个年份与销售期的重叠天数,并汇总销售额。
2025-09-01 19:09:13
896
原创 Oracle
摘要:本文介绍了两种计算用户最大连续登录天数的方法。第一种方法使用等差数列差值计算,适用于允许间隔1天的情况;第二种方法通过分组标识列处理,可扩展至允许间隔n天的情况。
2025-08-29 19:06:34
763
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅