all week

monday
tuesday
wednesday
thursday
friday
saturday
sunday

WITH RECURSIVE current_week_monday AS ( -- 获取当前周的周一(用于构建周范围) SELECT DATE_SUB(CURRENT_DATE, INTERVAL WEEKDAY(CURRENT_DATE) DAY) AS current_monday ), -- 生成最近14周的日期范围(基于周一) week_dates AS ( SELECT DATE_SUB(cm.current_monday, INTERVAL (seq * 7) DAY) AS week_start FROM (SELECT 0 AS seq UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4 UNION ALL SELECT 5 UNION ALL SELECT 6 UNION ALL SELECT 7 UNION ALL SELECT 8 UNION ALL SELECT 9 UNION ALL SELECT 10 UNION ALL SELECT 11 UNION ALL SELECT 12 UNION ALL SELECT 13) AS seq CROSS JOIN current_week_monday cm ORDER BY week_start DESC ), -- 获取 ISO 周信息 iso_week_info AS ( SELECT week_start, DATE_ADD(week_start, INTERVAL 6 DAY) AS week_end, DATE_FORMAT(week_start, '%Y-%U') AS iso_week_num, DATE_FORMAT(DATE_ADD(week_start, INTERVAL -1 YEAR), '%Y-%U') AS last_year_iso_week_num, ROW_NUMBER() OVER (ORDER BY week_start DESC) AS week_seq FROM week_dates ), -- 当前年份的科室+手术室数据 current_year_dept AS ( SELECT i.week_start, i.week_end, i.iso_week_num, i.week_seq, d.KsDm, d.KsMc, o.OperAddrDm, o.OperAddrMc, COALESCE(SUM(o.YzSl), 0) AS current_year_count, COALESCE(SUM(o.AllOperSl), 0) AS current_year_AllOperSl, COALESCE(SUM(o.SjSl), 0) AS current_year_SjSl FROM iso_week_info i CROSS JOIN (SELECT DISTINCT KsDm, KsMc FROM dw3bqksoper) AS d LEFT JOIN dw3bqksoper o ON o.KsDm = d.KsDm AND o.OperDate BETWEEN i.week_start AND i.week_end GROUP BY i.week_start, i.week_end, i.iso_week_num, i.week_seq, d.KsDm, d.KsMc, o.OperAddrDm, o.OperAddrMc ), -- 去年同期数据 last_year_dept AS ( SELECT DATE_ADD(i.week_start, INTERVAL -1 YEAR) AS last_year_week_start, DATE_ADD(DATE_ADD(i.week_start, INTERVAL -1 YEAR),INTERVAL 6 DAY)AS last_year_week_end, DATE_FORMAT(DATE_ADD(i.week_start, INTERVAL -1 YEAR), '%Y-%U') AS last_year_iso_week_num, d.KsDm, d.KsMc, o.OperAddrDm, o.OperAddrMc, COALESCE(SUM(o.YzSl), 0) AS last_year_count, COALESCE(SUM(o.AllOperSl), 0) AS last_year_AllOperSl, COALESCE(SUM(o.SjSl), 0) AS last_year_SjSl FROM iso_week_info i CROSS JOIN (SELECT DISTINCT KsDm, KsMc FROM dw3bqksoper) AS d LEFT JOIN dw3bqksoper o ON o.KsDm = d.KsDm AND o.OperDate BETWEEN DATE_ADD(i.week_start, INTERVAL -1 YEAR) AND DATE_ADD(DATE_ADD(i.week_start, INTERVAL -1 YEAR), INTERVAL 6 DAY) GROUP BY DATE_ADD(i.week_start, INTERVAL -1 YEAR), d.KsDm, d.KsMc, o.OperAddrDm, o.OperAddrMc ) -- 最终结果集 SELECT i.iso_week_num AS current_iso_week, l.last_year_iso_week_num AS last_year_iso_week, i.week_start, i.week_end, i.week_seq, c.KsDm, c.KsMc, c.OperAddrDm, c.OperAddrMc, c.current_year_count, l.last_year_count, c.current_year_SjSl, l.last_year_SjSl, (c.current_year_count - l.last_year_count) AS yoy_change, CASE WHEN l.last_year_count > 0 THEN ROUND((c.current_year_count - l.last_year_count) / l.last_year_count * 100, 2) ELSE NULL END AS yoy_change_percent, c.current_year_AllOperSl, l.last_year_AllOperSl FROM current_year_dept c LEFT JOIN last_year_dept l ON c.week_start = DATE_ADD(l.last_year_week_start, INTERVAL 1 YEAR) AND c.KsDm = l.KsDm AND c.OperAddrDm = l.OperAddrDm INNER JOIN iso_week_info i ON c.week_start = i.week_start WHERE c.current_year_count >= 0 ORDER BY i.week_seq, c.KsDm, c.OperAddrDm; 请你根据我的代码给我建表sql语句
07-30
六自由度机械臂ANN人工神经网络设计:正向逆向运动学求解、正向动力学控制、拉格朗日-欧拉法推导逆向动力学方程(Matlab代码实现)内容概要:本文档围绕六自由度机械臂的ANN人工神经网络设计展开,详细介绍了正向与逆向运动学求解、正向动力学控制以及基于拉格朗日-欧拉法推导逆向动力学方程的理论与Matlab代码实现过程。文档还涵盖了PINN物理信息神经网络在微分方程求解、主动噪声控制、天线分析、电动汽车调度、储能优化等多个工程与科研领域的应用案例,并提供了丰富的Matlab/Simulink仿真资源和技术支持方向,体现了其在多学科交叉仿真与优化中的综合性价值。; 适合人群:具备一定Matlab编程基础,从事机器人控制、自动化、智能制造、电力系统或相关工程领域研究的科研人员、研究生及工程师。; 使用场景及目标:①掌握六自由度机械臂的运动学与动力学建模方法;②学习人工神经网络在复杂非线性系统控制中的应用;③借助Matlab实现动力学方程推导与仿真验证;④拓展至路径规划、优化调度、信号处理等相关课题的研究与复现。; 阅读建议:建议按目录顺序系统学习,重点关注机械臂建模与神经网络控制部分的代码实现,结合提供的网盘资源进行实践操作,并参考文中列举的优化算法与仿真方法拓展自身研究思路。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值