中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

網(wǎng)站建設(shè)肆金手指排名8模板建站公司

網(wǎng)站建設(shè)肆金手指排名8,模板建站公司,上海人才網(wǎng)官方網(wǎng)站,電子商務(wù)網(wǎng)站建設(shè)實(shí)訓(xùn)報(bào)告范文背景 同環(huán)比,是基本的數(shù)據(jù)分析方法。在各類調(diào)研表中屢見不鮮,如果人工向前追溯統(tǒng)計(jì)數(shù)據(jù),可想而知工作量是非常大的。 標(biāo)題復(fù)制10行,并且每行大于10個(gè)字符【源碼解析】SpringBoot接口參數(shù)【Mysql實(shí)戰(zhàn)】使用存儲(chǔ)過程和計(jì)算同比環(huán)比…

背景

同環(huán)比,是基本的數(shù)據(jù)分析方法。在各類調(diào)研表中屢見不鮮,如果人工向前追溯統(tǒng)計(jì)數(shù)據(jù),可想而知工作量是非常大的。

標(biāo)題復(fù)制10行,并且每行大于10個(gè)字符【源碼解析】SpringBoot接口參數(shù)【Mysql實(shí)戰(zhàn)】使用存儲(chǔ)過程和計(jì)算同比環(huán)比校驗(yàn)原理

實(shí)戰(zhàn)

以任務(wù)表為例,創(chuàng)建任務(wù)表。

-- auto-generated definition
create table app_task
(id           bigint auto_increment comment '主鍵'primary key,user_id      int               null comment '當(dāng)前執(zhí)行人',user_name    varchar(24)       null comment '當(dāng)前執(zhí)行人名字',arrival_time datetime          null comment '到達(dá)時(shí)間',start_time   datetime          null comment '開始時(shí)間',finish_time  datetime          null comment '完成時(shí)間',expect_time  datetime          null comment '預(yù)計(jì)時(shí)間',create_time  datetime          null comment '創(chuàng)建時(shí)間',is_delete    tinyint default 0 null comment '0-生效,1-失效'
)comment '任務(wù)表';
標(biāo)題復(fù)制10行,并且每行大于10個(gè)字符【源碼解析】SpringBoot接口參數(shù)【Mysql實(shí)戰(zhàn)】使用存儲(chǔ)過程和計(jì)算同比環(huán)比校驗(yàn)原理

存儲(chǔ)過程插入數(shù)據(jù)

使用存儲(chǔ)過程導(dǎo)入數(shù)據(jù),開始時(shí)間是凌晨,結(jié)束時(shí)間是23點(diǎn),創(chuàng)建時(shí)間和到達(dá)時(shí)間為當(dāng)前,預(yù)期時(shí)間為變換的字符串。

CREATE PROCEDURE `batch_insert_data`(IN count INTEGER, -- record參數(shù)用來傳需要插入數(shù)據(jù)的條數(shù)IN dt timestamp -- dt參數(shù)用來傳入時(shí)間戳,開始插入的第一條數(shù)據(jù)的時(shí)間(格式為:'2020-10-24 14:31:44')
)
BEGINDECLARE number INTEGER; -- 聲明一個(gè)number,用來控制循環(huán)的次數(shù)set number = 1; -- 將number的值賦值為1,代表循環(huán)從1開始START TRANSACTION;WHILE number <= countDO-- 使用while進(jìn)行循環(huán),滿足條件進(jìn)入循環(huán)select date_add(dt, interval 1 second) into dt;-- 使用date_add()函數(shù)將時(shí)間進(jìn)行轉(zhuǎn)換為秒數(shù),并賦值給dt參數(shù)
-- 插入數(shù)據(jù)INSERT INTO app_task -- 庫(kù)名.表名
-- 由于id是自動(dòng)增長(zhǎng),不需要額外賦值,所以需要將剩余的其他字段全部列出進(jìn)行一一對(duì)應(yīng)賦值插入(user_id,user_name,arrival_time,start_time,finish_time,expect_time,create_time,is_delete)VALUES (FLOOR(RAND() * 10),2,now(),DATE_FORMAT(CURDATE(),'%Y-%m-%d %H:%i:%s'),DATE_ADD(CURDATE(), INTERVAL 23 HOUR),dt,now(),0);
-- number參數(shù)進(jìn)行自增set number = number + 1;
-- dt參數(shù)進(jìn)行自增set dt = date_add(dt, interval 1 second);end WHILE;COMMIT;
END;
標(biāo)題復(fù)制10行,并且每行大于10個(gè)字符【源碼解析】SpringBoot接口參數(shù)【Mysql實(shí)戰(zhàn)】使用存儲(chǔ)過程和計(jì)算同比環(huán)比校驗(yàn)原理

日期常用函數(shù)(重點(diǎn):每周)

SELECT DATE_SUB(CURDATE(),INTERVAL 1 DAY);     	-- 昨天
SELECT DATE_SUB(CURDATE(),INTERVAL 1 MONTH);     -- 上個(gè)月
SELECT DATE_ADD(CURDATE(), INTERVAL 9 HOUR);    -- 當(dāng)天9點(diǎn)
SELECT NOW();-- 查詢當(dāng)時(shí)
SELECT CURDATE();-- 查詢當(dāng)天
select yearweek('2023-05-12 09:00:00'),week('2023-05-12 09:00:00'),weekofyear('2023-05-12 09:00:00'),weekday('2023-05-12 09:00:00') ; ;
-- 202319,19,19,4select yearweek(now() - INTERVAL 1 DAY)    -- 從周1開始本周計(jì)算
--  yearweek、WEEK (日期)  是 每把周日,作為一周的開始。
標(biāo)題復(fù)制10行,并且每行大于10個(gè)字符【源碼解析】SpringBoot接口參數(shù)【Mysql實(shí)戰(zhàn)】使用存儲(chǔ)過程和計(jì)算同比環(huán)比校驗(yàn)原理

刪除和調(diào)用存儲(chǔ)過程

-- 刪除存儲(chǔ)過程
drop procedure batch_insert_data;
-- 調(diào)用存儲(chǔ)過程
call batch_insert_data(20,now());

按照月份和人員id,統(tǒng)計(jì)每個(gè)人每月的完成任務(wù)時(shí)長(zhǎng),延遲數(shù)量,延遲百分比,完成任務(wù)數(shù)量。

  • 使用left(create_time, 7),按照日期排序
select user_id userId,left(create_time, 7)                                        yyyyMM,ROUND(avg(TIMESTAMPDIFF(MINUTE, start_time, finish_time)), 2)    finishDuration,sum(if(arrival_time > expect_time, 1, 0))                       delayCount,round(sum(if(arrival_time > expect_time, 1, 0)) / count(id), 2) delayPercent,count(id)                                                     taskCountfrom app_taskgroup by userId, left(create_time, 7)order by userId, left(create_time, 7);
標(biāo)題復(fù)制10行,并且每行大于10個(gè)字符【源碼解析】SpringBoot接口參數(shù)【Mysql實(shí)戰(zhàn)】使用存儲(chǔ)過程和計(jì)算同比環(huán)比校驗(yàn)原理

計(jì)算月環(huán)比

計(jì)算當(dāng)月完成的任務(wù)量,任務(wù)量的月環(huán)比;計(jì)算當(dāng)月完成任務(wù)的平均時(shí)長(zhǎng),平均時(shí)長(zhǎng)的月環(huán)比;計(jì)算當(dāng)月的延遲率,延遲率的月環(huán)比

  • WINDOW w AS (PARTITION BY userId ORDER BY yyyyMM),指定窗口別名
  • 使用窗口函數(shù)lag,獲取分組中的前一條數(shù)據(jù)。
select *
from (select yyyyMM,userId,taskCount,LAG(taskCount, 1) OVER w      AS                                                     lastTaskCount,round((taskCount - LAG(taskCount, 1) OVER w) / LAG(taskCount, 1) OVER w, 2)          taskCountChain,finishDuration,LAG(finishDuration, 1) OVER w AS                                                     lastfinishDuration,round((finishDuration - LAG(finishDuration, 1) OVER w) / LAG(finishDuration, 1) OVER w,2)                                                                             finishDurationChain,delayCount,LAG(finishDuration, 1) OVER w AS                                                     lastDelayCount,delayPercent,LAG(delayPercent, 1) OVER w   AS                                                     lastDelayPercent,round((delayPercent - LAG(delayPercent, 1) OVER w) / LAG(delayPercent, 1) OVER w, 2) delayPercentChainfrom (select user_id                                                         userId,left(create_time, 7)                                            yyyyMM,ROUND(avg(TIMESTAMPDIFF(MINUTE, start_time, finish_time)), 2)   finishDuration,sum(if(arrival_time > expect_time, 1, 0))                       delayCount,round(sum(if(arrival_time > expect_time, 1, 0)) / count(id), 2) delayPercent,count(id)                                                       taskCountfrom app_taskgroup by userId, left(create_time, 7)order by userId, left(create_time, 7)) t1WINDOW w AS (PARTITION BY userId ORDER BY yyyyMM)) tmp
where tmp.yyyyMM = '2023-05';
標(biāo)題復(fù)制10行,并且每行大于10個(gè)字符【源碼解析】SpringBoot接口參數(shù)【Mysql實(shí)戰(zhàn)】使用存儲(chǔ)過程和計(jì)算同比環(huán)比校驗(yàn)原理

計(jì)算月同比

核心是比較前12月的數(shù)據(jù),LAG(finishDuration, 12) OVER w

標(biāo)題復(fù)制10行,并且每行大于10個(gè)字符【源碼解析】SpringBoot接口參數(shù)【Mysql實(shí)戰(zhàn)】使用存儲(chǔ)過程和計(jì)算同比環(huán)比校驗(yàn)原理

使用WITH AS簡(jiǎn)化SQL

WITH AS短語,也叫做子查詢部分(subquery factoring),可以讓你做很多事情,定義一個(gè)SQL片斷,該SQL片斷會(huì)被整個(gè)SQL語句所用到。有的時(shí)候,是為了讓SQL語句的可讀性更高些,也有可能是在UNION ALL的不同部分,作為提供數(shù)據(jù)的部分。

with statistics as (select user_id                                                         userId,left(create_time, 7)                                            yyyyMM,ROUND(avg(TIMESTAMPDIFF(MINUTE, start_time, finish_time)), 2)   finishDuration,sum(if(arrival_time > expect_time, 1, 0))                       delayCount,round(sum(if(arrival_time > expect_time, 1, 0)) / count(id), 2) delayPercent,count(id)                                                       taskCountfrom app_taskgroup by userId, left(create_time, 7)order by userId, left(create_time, 7)
),tmp as (select yyyyMM,userId,taskCount,LAG(taskCount, 1) OVER w      AS                                                     lastTaskCount,round((taskCount - LAG(taskCount, 1) OVER w) / LAG(taskCount, 1) OVER w, 2)          taskCountChain,finishDuration,LAG(finishDuration, 1) OVER w AS                                                     lastfinishDuration,round((finishDuration - LAG(finishDuration, 1) OVER w) / LAG(finishDuration, 1) OVER w,2)                                                                             finishDurationChain,delayCount,LAG(finishDuration, 1) OVER w AS                                                     lastDelayCount,delayPercent,LAG(delayPercent, 1) OVER w   AS                                                     lastDelayPercent,round((delayPercent - LAG(delayPercent, 1) OVER w) / LAG(delayPercent, 1) OVER w, 2) delayPercentChainfrom statisticsWINDOW w AS (PARTITION BY userId ORDER BY yyyyMM))
select *
from tmp
where tmp.yyyyMM = '2023-05';
標(biāo)題復(fù)制10行,并且每行大于10個(gè)字符【源碼解析】SpringBoot接口參數(shù)【Mysql實(shí)戰(zhàn)】使用存儲(chǔ)過程和計(jì)算同比環(huán)比校驗(yàn)原理

關(guān)聯(lián)查詢

如果在記錄表app_task_record記錄狀態(tài)和創(chuàng)建時(shí)間,當(dāng)任務(wù)開始時(shí),插入一條狀態(tài)30的數(shù)據(jù),當(dāng)任務(wù)結(jié)束時(shí),插入一條狀態(tài)90的數(shù)據(jù)。計(jì)算當(dāng)前任務(wù)的完成時(shí)間。

select max(if(task_status = '30', create_time, null))                startTime,max(if(task_status = '90', create_time, null))                finishTime,TIMESTAMPDIFF(MINUTE, max(if(task_status = '30', create_time, null)),max(if(task_status = '90', create_time, null))) time_consuming
from app_task_record
where task_id = 1;
標(biāo)題復(fù)制10行,并且每行大于10個(gè)字符【源碼解析】SpringBoot接口參數(shù)【Mysql實(shí)戰(zhàn)】使用存儲(chǔ)過程和計(jì)算同比環(huán)比校驗(yàn)原理

在這里插入圖片描述

標(biāo)題復(fù)制10行,并且每行大于10個(gè)字符【源碼解析】SpringBoot接口參數(shù)【Mysql實(shí)戰(zhàn)】使用存儲(chǔ)過程和計(jì)算同比環(huán)比校驗(yàn)原理
標(biāo)題復(fù)制10行,并且每行大于10個(gè)字符【源碼解析】SpringBoot接口參數(shù)【Mysql實(shí)戰(zhàn)】使用存儲(chǔ)過程和計(jì)算同比環(huán)比
標(biāo)題復(fù)制10行,并且每行大于10個(gè)字符【源碼解析】SpringBoot接口參數(shù)【Mysql實(shí)戰(zhàn)】使用存儲(chǔ)過程和計(jì)算同比環(huán)比校驗(yàn)原理
標(biāo)題復(fù)制10行,并且每行大于10個(gè)字符【源碼解析】SpringBoot接口參數(shù)【Mysql實(shí)戰(zhàn)】使用存儲(chǔ)過程和計(jì)算同比環(huán)比校驗(yàn)原理
標(biāo)題復(fù)制10行,并且每行大于10個(gè)字符【源碼解析】SpringBoot接口參數(shù)【Mysql實(shí)戰(zhàn)】使用存儲(chǔ)過程和計(jì)算同比環(huán)比校驗(yàn)原理

http://www.risenshineclean.com/news/49988.html

相關(guān)文章:

  • 網(wǎng)站如何做頁數(shù)無憂seo博客
  • 創(chuàng)辦個(gè)人網(wǎng)站交換友情鏈接的注意事項(xiàng)
  • 專門做婚慶的網(wǎng)站拓客平臺(tái)有哪些
  • 廣州購(gòu)物網(wǎng)站建設(shè)報(bào)價(jià)今天的新聞最新消息
  • 網(wǎng)站開發(fā)后端開發(fā)深圳網(wǎng)站建設(shè)專業(yè)樂云seo
  • wordpress跳轉(zhuǎn)頁面插件百度seo關(guān)鍵詞排名s
  • jsp網(wǎng)站開發(fā)文獻(xiàn)濟(jì)南seo顧問
  • 個(gè)人做網(wǎng)站需要多少錢百度手機(jī)seo軟件
  • 品牌網(wǎng)站建設(shè)h合肥銷售
  • 臨沂網(wǎng)站建設(shè)價(jià)格低流氓網(wǎng)站
  • 手機(jī)免費(fèi)網(wǎng)站制作軟文標(biāo)題寫作技巧
  • 甘肅企業(yè)建站系統(tǒng)費(fèi)用無貨源網(wǎng)店怎么開
  • 現(xiàn)在主流的web框架東莞seo軟件
  • 有贊商城網(wǎng)站建設(shè)企業(yè)網(wǎng)站怎么制作
  • 低價(jià)網(wǎng)站建設(shè)順德企業(yè)qq手機(jī)版
  • wordpress調(diào)用側(cè)邊欄關(guān)鍵詞優(yōu)化怎么操作
  • 網(wǎng)站建設(shè)論文大全小紅書網(wǎng)絡(luò)營(yíng)銷策劃方案
  • 本科畢業(yè)論文答辯稿網(wǎng)站開發(fā)阿里云萬網(wǎng)域名注冊(cè)
  • html5高端網(wǎng)站建設(shè)織夢(mèng)模板下載營(yíng)銷軟件網(wǎng)
  • 網(wǎng)站開發(fā)人員必備技能谷歌外貿(mào)平臺(tái)叫什么
  • 涉縣企業(yè)做網(wǎng)站推廣邯鄲seo推廣
  • css div網(wǎng)站網(wǎng)時(shí)代教育培訓(xùn)機(jī)構(gòu)官網(wǎng)
  • 義烏專業(yè)做網(wǎng)站的在線客服系統(tǒng)
  • 做貿(mào)易做個(gè)外貿(mào)網(wǎng)站有必要嗎公司想做個(gè)網(wǎng)站怎么辦
  • 學(xué)校校園網(wǎng)站建設(shè)方案百度信息流賬戶搭建
  • wordpress 單頁案例seo全網(wǎng)優(yōu)化指南
  • 怎么給自己的網(wǎng)站做seo北京網(wǎng)站優(yōu)化方法
  • 深圳自適應(yīng)網(wǎng)站開發(fā)頭條廣告入口
  • 動(dòng)態(tài)網(wǎng)站開發(fā)需求外貿(mào)google推廣
  • 怎么自己做砍價(jià)網(wǎng)站網(wǎng)推是什么