mysql如何動(dòng)態(tài)創(chuàng)建連續(xù)時(shí)間段
mysql動(dòng)態(tài)創(chuàng)建連續(xù)時(shí)間段
SELECT ((( SELECT ( curdate() - INTERVAL 30 YEAR )) - INTERVAL 1 YEAR ) + INTERVAL ( cast( `mysql`.`help_topic`.`help_topic_id` AS signed ) + 1 ) YEAR ) AS `current_week` FROM `mysql`.`help_topic` WHERE ( `mysql`.`help_topic`.`help_topic_id` < 30) ORDER BY `mysql`.`help_topic`.`help_topic_id`
忘了原sql是從哪里找到的了,給改造了一下,上邊的是構(gòu)造當(dāng)前時(shí)間向前推30年的連續(xù)年,需要連續(xù)月就把“YEAR”改成“MONTH”即可得到連續(xù)月;同理,需要連續(xù)天則改成“DAY”。
需要構(gòu)造連續(xù)多少條時(shí)間就把30改成對(duì)應(yīng)需要的數(shù)字,以此作為基表關(guān)聯(lián)業(yè)務(wù)表即可統(tǒng)計(jì)連續(xù)時(shí)間段業(yè)務(wù)情況。
在mapper.xml中寫自己的邏輯即可
僅供參考:
<select id="select" resultMap="Vo"> select d.date,count(t.id) count form (SELECT ((( SELECT ( curdate() - INTERVAL #{連續(xù)時(shí)間長(zhǎng)度} <if test="判斷傳入?yún)?shù)"> YEAR </if> )) - INTERVAL 1 <if test="判斷傳入?yún)?shù)"> YEAR </if> ) + INTERVAL ( cast( `mysql`.`help_topic`.`help_topic_id` AS signed ) + 1 ) <if test="判斷傳入?yún)?shù)"> YEAR </if> ) AS `current_week` FROM `mysql`.`help_topic` WHERE ( `mysql`.`help_topic`.`help_topic_id` < #{連續(xù)時(shí)間長(zhǎng)度} ) ORDER BY `mysql`.`help_topic`.`help_topic_id`) d left join ( /** 具體的業(yè)務(wù)表 */ )T on T.date = d.date </select>
如果按非當(dāng)前時(shí)間計(jì)算還需要考慮到日期格式轉(zhuǎn)換
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- mysql創(chuàng)建時(shí)間字段添加默認(rèn)值方式
- MySQL如何設(shè)置動(dòng)態(tài)創(chuàng)建時(shí)間(create_time)和修改時(shí)間(update_time)
- MySQL8設(shè)置自動(dòng)創(chuàng)建時(shí)間和自動(dòng)更新時(shí)間的實(shí)現(xiàn)方法
- MySQL創(chuàng)建定時(shí)任務(wù)實(shí)例(每天凌晨1點(diǎn)、每小時(shí)、每分鐘、某一時(shí)間點(diǎn))
- MySQL中創(chuàng)建時(shí)間和更新時(shí)間的自動(dòng)更新的實(shí)現(xiàn)示例
- mysql數(shù)據(jù)庫(kù)自動(dòng)添加創(chuàng)建時(shí)間及更新時(shí)間
相關(guān)文章
MySQL中ON DUPLICATE KEY UPDATE語句的使用
INSERT INTO ... ON DUPLICATE KEY UPDATE?是一個(gè)強(qiáng)大的SQL語句,它結(jié)合了插入新記錄和更新已存在記錄的功能于一體,本文就來介紹一下MySQL中ON DUPLICATE KEY UPDATE語句的使用,感興趣的可以了解一下2024-08-08MySQL?bit類型增加索引后查詢結(jié)果不正確案例解析
這篇文章主要介紹了MySQL?bit類型增加索引后查詢結(jié)果不正確案例淺析,我們先創(chuàng)建表student_attend,初始化一些數(shù)據(jù),這篇文章的測(cè)試環(huán)境為MySQL 8.0.35社區(qū)版,具體內(nèi)容介紹跟隨小編一起學(xué)習(xí)吧2024-06-06