mysql 生成兩個日期之間的月份和日期

msyql 腳本處理兩個日期之前的月份列表記錄和日期列表記錄

需求:最近有個需求,需要安時間區(qū)間統(tǒng)計一張表中的數(shù)據(jù),按月份和日期統(tǒng)計,問題是,有的月份和日期可能都沒有數(shù)據(jù),但是也要統(tǒng)計出來數(shù)據(jù),還要跟去年同期對比。

  • 我第一反應(yīng)就是用日期左聯(lián)查詢,因為sqlserver 有系統(tǒng)函數(shù)支持查詢?nèi)掌谟涗浐驮路萦涗?,后來找了下,發(fā)現(xiàn)mysql 沒有找到,蛋疼。
  • 有同事說建個表來存儲日期記錄,嗯嗯,不太喜歡,雖然用過這種方案,因為又是動態(tài)的我覺得,我覺得還是要單獨處理,我直接pass 。
  • 有的說代碼生成 pass

后面左百度,又百度,然后又理解一些mysql的函數(shù),都沒有找到合適的,后么在網(wǎng)上大體符合我的需求的,然后自己稍微改了下,OK搞定

  • 主要函數(shù)
```mysql
DATE_FORMAT('日期','') 函數(shù)用于以不同的格式顯示日期/時間數(shù)據(jù)。
DATE_SUB(date,INTERVAL expr type)
date 日期
expr 數(shù)字
type YEAR,MONTH,DAY
函數(shù)從日期減去指定的時間間隔。

SELECT   UNION  其實就是模擬自己想要的數(shù)字?jǐn)?shù)據(jù) ,構(gòu)建成一個表
where d <= 5 只獲取1-5的數(shù)據(jù)
```
  • 月份 可以直接執(zhí)行
```mysql 
      SELECT DATE_FORMAT(DATE_SUB('2018-09-09', INTERVAL d MONTH), '%Y-%m') as year_month_day
    FROM (
    select d from (
        SELECT @xi:=@xi+1 as d from
            (SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5) xc1,
            (SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5) xc2,
            (SELECT @xi:=-1) xc0
        ) as m where d <= 5
    ) dtc

```
  • 日期 可以直接執(zhí)行
    SELECT DATE_FORMAT(DATE_SUB('2018-09-09', INTERVAL d DAY), '%Y-%m-%d') as year_month_day
       FROM (
       select d from (
           SELECT @xi:=@xi+1 as d from
               (SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5) xc1,
               (SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5) xc2,
               (SELECT @xi:=-1) xc0
           ) as m where d <= 5
       ) dtc

   ```
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 作者:燁竹 數(shù)據(jù)庫的基本操作 登陸MySQL數(shù)據(jù)庫服務(wù):mysql -h服務(wù)器地址 -P端口號 -u用戶名 ...
    DragonRat閱讀 1,444評論 0 7
  • 今天看到一位朋友寫的mysql筆記總結(jié),覺得寫的很詳細(xì)很用心,這里轉(zhuǎn)載一下,供大家參考下,也希望大家能關(guān)注他原文地...
    信仰與初衷閱讀 4,834評論 0 30
  • 什么是數(shù)據(jù)庫? 數(shù)據(jù)庫是存儲數(shù)據(jù)的集合的單獨的應(yīng)用程序。每個數(shù)據(jù)庫具有一個或多個不同的API,用于創(chuàng)建,訪問,管理...
    chen_000閱讀 4,143評論 0 19
  • 前面的章節(jié)我們介紹了如何設(shè)計最優(yōu)的庫表結(jié)構(gòu)、 如何建立最好的索引, 這些對于高性能來說是必不可少的。 但這些還不夠...
    好好學(xué)習(xí)Sun閱讀 2,774評論 0 38
  • 近期整理十四年前的日記,發(fā)現(xiàn)在日記中我對一個同事評價簡直低到泥里去了,這讓我非常錯愕,因為現(xiàn)在我與她的相處還...
    bluecacti428閱讀 57評論 0 1

友情鏈接更多精彩內(nèi)容