mysql 生成连续日期及变量赋值
目录
1、生产连续日期2、变量赋值1、生产连续日期
说明:主要作用于一些统计数据,来根据时间顺序进行显示;
假如数据库数据有隔天数据,偏偏统计又需要每天的都显示,即便是0,那就要生成一个时间表,来使用;
查询数据库数据:
SELECT DATE_FORMAT( create_time, "%Y-%m-%d" ) AS date, COUNT(1) AS numb FROM qc_task WHERE create_time>= DATE_SUB(CURDATE(),INTERVAL 1 MONTH) and department_id IN ( SELECT id FROM `vigilante_jinan`.`qc_department` WHERE `area_code` = (@dep_BH) AND `status` = "1" AND dept_level >= (@dep_DJ)) GROUP BY DATE_FORMAT( create_time, "%Y-%m-%d" )
隔天时出数据:
这样是不是就不好看了,如果非要说加个order by 1 desc 排一下,也可以…
但是就算排出来,时间也是不连贯的;
生成最近7天的日期:
// 方法笨,但还是有效的 select DATE_FORMAT(SUBDATE(NOW(), interval (timeList.sj*1460) MINUTE),"%Y-%m-%d") as "datetime" from (SELECT @num:=@num+1 as sj from (SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7) t, -- (SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7) t1, -- 假如嫌弃生成的少,打来这个就行 (SELECT @num:=0) y) as timeList
生成的时间:
生成后使用:
-- 生成后左右链接即可,但主表要为时间表 SELECT f.datetime, t.numb FROM (SELECT DATE_FORMAT( create_time, "%Y-%m-%d" ) AS date, COUNT(1) AS numb FROM qc_task WHERE create_time>= DATE_SUB(CURDATE(),INTERVAL 1 MONTH) and department_id IN ( SELECT id FROM `vigilante_jinan`.`qc_department` WHERE `area_code` = (@dep_BH) AND `status` = "1" AND dept_level >= (@dep_DJ)) GROUP BY DATE_FORMAT( create_time, "%Y-%m-%d" )) t right join (select DATE_FORMAT(SUBDATE(NOW(), interval (timeList.sj*1460) MINUTE),"%Y-%m-%d") as "datetime" from (SELECT @num:=@num+1 as sj from (SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7) t, (SELECT @num:=0) y) as timeList) f on t.date = f.datetime ;
使用后效果:
我这里是数据库没有数据…所以看不到有数量显示
2、变量赋值
看到第一个里面 @符号很多是吗,那些都是变量,如果把查询语句放进去,整个查询语句就显得太臃肿了,会很长…所以有些东西可以拆分出去;
比如在查询数据库语句中的:
来看下他们的真面目:
# 查询部门区域编号 SELECT @dep_BH:=(SELECT area_code FROM qc_department WHERE dept_name = "历下区"); # 查询部门等级 SELECT @dep_DJ:=(SELECT dept_level FROM qc_department WHERE dept_name = "历下区");
到此这篇关于mysql 生成连续日期及变量赋值的文章就介绍到这了,更多相关mysql 连续日期与变量赋值内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
X 关闭
X 关闭
- 15G资费不大降!三大运营商谁提供的5G网速最快?中国信通院给出答案
- 2联想拯救者Y70发布最新预告:售价2970元起 迄今最便宜的骁龙8+旗舰
- 3亚马逊开始大规模推广掌纹支付技术 顾客可使用“挥手付”结账
- 4现代和起亚上半年出口20万辆新能源汽车同比增长30.6%
- 5如何让居民5分钟使用到各种设施?沙特“线性城市”来了
- 6AMD实现连续8个季度的增长 季度营收首次突破60亿美元利润更是翻倍
- 7转转集团发布2022年二季度手机行情报告:二手市场“飘香”
- 8充电宝100Wh等于多少毫安?铁路旅客禁止、限制携带和托运物品目录
- 9好消息!京东与腾讯续签三年战略合作协议 加强技术创新与供应链服务
- 10名创优品拟通过香港IPO全球发售4100万股 全球发售所得款项有什么用处?