自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

原创 用开源报表工具SpringReport做车间大屏+Excel 导出,我踩过的一些坑,基于最初版本的设计开发

使用SpringReport实现产线可动率分析,5大屏+5Excel模板,严守不改源码、不直连数据库约束。核心经验:界面配置有限,精确控制需改组件JSON,复杂逻辑靠URL传参绕行。重点突破双Y轴(seriesIndex绑定)、轴色/标签优化、饼图防重叠、下钻带参(别名列+drillParam)、日期控件刷新(依赖URL传参)、#{}与${}引号规则差异。关键结论:能配则配,不能配就改JSON,全不行就用URL传参。

2026-11-06 15:18:59 337

原创 从“给人看的 Excel“到“能入库的规范行“:点检表数据清洗逻辑拆解

本文拆解点检表数据清洗逻辑:针对纸质表电子化后“给人看”与“能入库”之间的差距,构建纯本地离线的六步流水线,通过词典匹配、位置偏移与边界判定三层规则,精准识别表头、履历、项目,并统一以report_code关联三张结构化表(报表、项目、履历),实现可解释、可诊断的数据清洗。核心在于“不依赖网络、不泄露数据”,确保在无结构约束的复杂表格中稳定产出规范行。

2026-11-05 08:55:01 248

原创 制造工厂业务场景:当机器要读懂一张手写的点检表

本文分享了在工厂点检表数据清洗中的实战经验:面对无规则、格式多变的纸质/Excel表单,系统需将“人能看懂”的表格转化为“机器可读”的结构化数据。核心挑战在于区分“无数据”与“未识别”,通过三层非AI逻辑(认字、定位、边界判断)实现可解释、可审计的识别。关键成果包括过程留痕、结构线框图、健康分评分及单元格级脱敏,确保在离线、保密前提下稳定运行。总结出三大原则:区分空与误识、警惕位置兜底、实现细粒度脱敏。

2026-11-04 16:56:13 90

原创 SQL语法之分析函数使用指南与注意事项

SQL分析函数摘要:本文介绍三类分析函数用法。1)聚合类(SUM,AVG等):OVER()整体计算,PARTITION BY分组,ORDER BY实现累计统计;2)排名类(RANK,ROW_NUMBER等):必须含ORDER BY,可选PARTITION BY;3)位移类(LAG,LEAD等):必须ORDER BY确定顺序。通过销售数据示例演示了各函数应用场景,特别强调分析函数内ORDER BY仅影响计算顺序,不改变结果展示顺序。最后指出窗口函数还支持ROWS/RANGE BETWEEN等高级用法。

2025-08-23 14:10:01 311

原创 SQL语法之exists和in的区别

摘要:EXISTS和IN的核心区别在于,EXISTS检查子查询是否返回记录(布尔判断),适用于子查询结果集大而主查询结果集小的场景;IN检查字段值是否在子查询列表中,适用于相反情况。性能对比显示,当子查询数据量大时,EXISTS(依赖索引)明显优于IN(需生成临时列表)。实际建议:大数据量下优先使用EXISTS,特别是主查询筛选少量数据而关联大表时;仅当子查询结果集很小时考虑IN。注意确保关联字段有索引,且EXISTS支持更复杂的条件查询。

2025-08-07 22:40:57 496

原创 SQL优化之常用语句的调优

SQL语句优化技巧摘要:本文总结了10个SQL优化要点,包括避免索引失效、使用commit提交、用EXISTS替代IN/join、临时表代替子查询、GROUPBY替代DISTINCT、使用内置函数、避免SELECT等。通过一个多表查询案例对比优化前后SQL:原SQL存在SELECT、笛卡尔积、NOTIN低效等问题;优化后使用WITHAS临时表、EXISTS替代JOIN、INNERJOIN避免笛卡尔积、DECODE函数等技巧,性能可提升5-10倍。验证执行计划可确认优化效果,重点关注全表扫描和临时表使用情况。

2025-08-04 20:17:51 506

原创 面试SQL题目之连续性登录问题

本文介绍了用户连续性登录问题的SQL方法。通过创建包含用户ID和登录时间的表,并插入测试数据,展示了如何计算用户的最早、最晚登录时间及连续登录天数。关键思路是:将登录日期减去行号得到连续登录标识,相同标识的日期即为连续登录日期。核心SQL使用窗口函数ROW_NUMBER()配合日期运算,最后按用户分组统计起始日期、结束日期和连续天数。该方法能有效识别用户连续登录行为,适用于常见的用户活跃度分析场景。

2025-07-31 20:51:16 288

原创 delete和truncate的区别,和drop又有什么区别?

数据库删除操作差异:DELETE是DML操作,可回滚并支持WHERE条件筛选,但速度最慢;TRUNCATE是DDL操作,快速清空表数据且不可回滚,会重置自增列;DROP也是DDL操作,直接删除整个表结构及数据,速度最快但不可恢复。三者执行速度依次递增,风险也随之增大,使用需谨慎。尤其注意DROP操作可能导致'删库跑路'的严重后果,重大操作前务必备份数据。

2025-07-27 14:29:28 855

原创 SQL语句执行顺序总结及大概示例

不同数据库的逻辑执行顺序存在差异:Oracle执行顺序为FROM→WHERE→GROUP BY→HAVING→SELECT→ORDER BY;Hive则是FROM→WHERE→GROUP BY→SELECT→HAVING→ORDER BY;PostgreSQL和MySQL类似,都包含表关联操作(JOIN在WHERE前),但PostgreSQL支持LIMIT/OFFSET。主要区别体现在HAVING的位置(Hive在SELECT后)、LIMIT支持度(Oracle不支持)以及DISTINCT的执行时机。

2025-07-26 14:25:37 545

原创 SQL语法之union和union all 的区别?

摘要: 本文比较了SQL中UNION ALL和UNION操作的差异。UNION ALL直接合并两表数据,保留所有重复行,效率较高。而UNION会基于所有列值进行全局去重,需额外排序操作,效率较低。关键区别在于:UNION ALL保留全部数据,UNION自动去重但性能较差。使用时需确保合并表的列数、数据类型一致,结果列名取自第一个SELECT语句。实际工作中推荐优先使用UNION ALL

2025-07-24 23:39:06 1106

原创 SQL执行优化之连接查询时,条件写在where后面和写在on后面的区别

SQL连接查询中ON与WHERE条件的关键区别:ON条件定义表间关联逻辑,保留左表所有记录,右表不匹配时补NULL(如第一条SQL结果同时包含c/d和a/b数据);WHERE条件对最终结果全局过滤,不满足条件的行会被剔除(如第二条SQL仅保留a/b数据)。实际应用中,需根据需求选择:若需保留主表全部数据使用ON条件过滤右表,若需筛选最终结果集则使用WHERE条件。典型场景包括历史数据比对、数据质量检查等。

2025-07-23 20:33:51 333

原创 SQL优化小技巧之查询数据是否存在的优化

如果你的数据库目标有非常多的数据,按照原来的做法会查询全部后统计出来,而优化后的SQL只查询到第一条就结束了。相当于你需要寻找操作上的跑道是否有标记的点,你原来的做法是在操场上跑一圈查看地面上所有有标记的点,再统计求和得出结果;而优化后的做法是直接跑起来,找到第一个标记的点就可以得到结果。,让数据库查询时遇到一条就返回结果,不要再继续查找还有多少条了。

2025-07-19 16:23:31 274

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除