mysql 生成日历视图_mysql sql语句生成日历表
mysql sql語句生成日歷表 ?(主要用于按月,按天group by分組統計時,有些日期沒有記錄,需要補0)
從自定義的開始時間,生成1萬條記錄
CREATE TABLE if not exists num (i int);-- 創建一個表用來儲存0-9的數字
INSERT INTO num (i) VALUES (0), (1), (2), (3), (4), (5), (6), (7), (8), (9);-- 生成0-9的數字,方便以后計算時間
CREATE TABLE if not exists calendar(datelist date); -- 生成一個存儲日期的表,datalist是字段名
-- 這里是生成并插入日期數據
INSERT INTO calendar(datelist) SELECT
adddate(
( -- 這里的起始日期,你可以換成當前日期
DATE_FORMAT("2010-1-1", '%Y-%m-%d')
),
numlist.id
) AS `date`
FROM
(
SELECT
n1.i + n10.i * 10 + n100.i * 100 + n1000.i * 1000 AS id
FROM
num n1
CROSS JOIN num AS n10
CROSS JOIN num AS n100
CROSS JOIN num AS n1000
) AS numlist;
從自定義的開始時間,生成10萬條記錄
CREATE TABLE num (i int);-- 創建一個表用來儲存0-9的數字
INSERT INTO num (i) VALUES (0), (1), (2), (3), (4), (5), (6), (7), (8), (9);-- 生成0-9的數字,方便以后計算時間
CREATE TABLE if not exists calendar(datelist date); -- 生成一個存儲日期的表,datalist是字段名
-- 這里是生成并插入日期數據
INSERT INTO calendar(datelist) SELECT
adddate(
( -- 這里的起始日期,你可以換成當前日期
DATE_FORMAT("2016-1-1", '%Y-%m-%d')
),
numlist.id
) AS `date`
FROM
(
SELECT
n1.i + n10.i * 10 + n100.i * 100 + n1000.i * 1000+ n10000.i * 10000 AS id
FROM
num n1
CROSS JOIN num AS n10
CROSS JOIN num AS n100
CROSS JOIN num AS n1000
CROSS JOIN num AS n10000
) AS numlist;
總結
以上是生活随笔為你收集整理的mysql 生成日历视图_mysql sql语句生成日历表的全部內容,希望文章能夠幫你解決所遇到的問題。
                            
                        - 上一篇: Cocos适配带虚拟导航栏手机(HUAW
 - 下一篇: 计算机科学与探索期刊审稿周期,计算机科学