1.创建基础表

CREATE TABLE num (i INT);
INSERT INTO num (i) VALUES (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);

2.查询时间范围

SELECT
adddate('2015-11-25', numlist.id) AS 'date'
FROM
(
SELECT
n1.i + n10.i * 10 + n100.i * 100 AS id
FROM
num n1
CROSS JOIN num AS n10
CROSS JOIN num AS n100
) AS numlist
WHERE
adddate('2015-11-25', numlist.id) <= '2015-12-25';

3 创建数据表

create table datatable(tDate char(10) PRIMARY KEY,tCount int(3));

insert into datatable(tDate,tCount)values
('2015-11-24',23),('2015-11-25',1),
('2015-11-26',21),('2015-11-28',17),
('2015-11-29',13),('2015-12-01',5),
('2015-12-02',11),('2015-12-04',8),
('2015-12-05',3),('2015-12-07',29),
('2015-12-09',80),('2015-12-10',24)

4 查询 (无值时补零)

SELECT
a.date,
COALESCE (b.tcount, 0) count
FROM
(
SELECT
adddate('2015-11-25', numlist.id) AS 'date'
FROM
(
SELECT
n1.i + n10.i * 10 + n100.i * 100 AS id
FROM
num n1
CROSS JOIN num AS n10
CROSS JOIN num AS n100
) AS numlist
WHERE
adddate('2015-11-25', numlist.id) <= '2015-12-25'
) a
LEFT JOIN datatable b ON a.date = b.tDate

好 查看结果

#------------完

MySQL 查询某时间段范围内的数据 补零的更多相关文章

  1. MySQL 查询某个数据库中所有包含数据记录的表名

    MySQL 查询某个数据库中所有包含数据记录的表名 有时根据实际应用需要,需要对数据进行备份. 如果一个数据库中有很多数据表,但是只想备份包含数据记录的那些表数据(空表不做数据备份). 如果通过如下S ...

  2. mysql 查询附近N公里内数据

    mysql 查询一个地点(经纬度) 附近N公里内的数据.(根据一个地点的经纬度查询这个地点方圆几公里内的数据)1.创建测试表 CREATE TABLE `location` ( `id` int(10 ...

  3. MySQL查询当天、本周、本月数据语句

    今天 select * from 表名 where to_days(时间字段名) = to_days(now()); 昨天 SELECT * FROM 表名 WHERE TO_DAYS( NOW( ) ...

  4. mysql 查询常见时间段数据

    1.今天 select * from 表名 where to_days(时间字段名) = to_days(now()); 2.昨天 SELECT * FROM 表名 WHERE TO_DAYS( NO ...

  5. MySQL实现分组取组内特定数据的功能

    需求:在MySQL5.7环境下,查询下面表中,各个学科前两名的学生的成绩: 1.准备数据 窗机表以及向表中插入数据 创建一张表: DROP TABLE IF EXISTS `grade`; CREAT ...

  6. Mysql查询某字段值重复的数据

    查询user表中,user_name字段值重复的数据及重复次数 select user_name,count(*) as count from user group by user_name havi ...

  7. Mysql按日期分组(group by)查询统计的时候,没有数据补0的解决办法

    转载自:http://blog.csdn.net/jie11447416/article/details/50887888 1.案例中的数据结构和数据如下 2.在没有解决的时候,是这样的   SELE ...

  8. MySQL查询字段类型为json的数据

    测试表如下: /* Navicat Premium Data Transfer Source Server : Source Server Type : MySQL Source Server Ver ...

  9. mysql 查询及 删除表中重复数据

    CREATE TABLE `test` ( `id` INT(20) NOT NULL AUTO_INCREMENT, `name` VARCHAR(20) NULL DEFAULT NULL, `a ...

随机推荐

  1. js定时显示广告代码

    这是一则定时显示广告的javascript代码,当然也可以定时显示某一区块内容,很实用. 代码如下: function strToDate(str, ext) { if (str == null || ...

  2. irefox 34的"Manage Search Engine"去哪了

    博客搬到了fresky.github.io - Dawei XU,请各位看官挪步.最新的一篇是:irefox 34的"Manage Search Engine"去哪了.

  3. Maven管理项目架包

    最近一直在用Maven管理项目的架包,从而发现了几个不错的官方或者非官方的网站. http://mvnrepository.com/artifact/com.ning  这个是我刚刚用来找HTTP开发 ...

  4. 判断URL是否能链接成功

    判断网络文件 存在 3秒之内返回结果 方法2:         /// <summary>         /// 判断网络文件是否存在 1.5秒得到出结果 如这样的格式  http:// ...

  5. linux ssh 中在window 传文件 下载文件 工具

    centos 安装工具 yum install lrzsz

  6. mac上SVN项目管理,提示被锁定的解决方法

    问题 mac上SVN项目管理,提示被锁定.不能commit.也不能update.提示 clean the working copy and then. .. 解决方法 watermark/2/text ...

  7. linux上配置jdk+Apache

    一:安装jdk下载将jdk加压后放到/usr/local目录下: [root@master ~]#chmod 755 jdk-6u5-linux-x64.bin [root@master ~]# ./ ...

  8. Android5.0之TextInputLayout、FloatingActionButton的使用

    TextInputLayout和FloatingActionButton都属于MD风格的控件,比起普通的EditText和Button.ImageButton,TextInputLayout和Floa ...

  9. case when then 与 count联合使用

    我们都知道SQL中适用case when then来转化数据库中的信息 比如  select (case sex when 0 then '男' else '女' end) AS sex  from ...

  10. Python教程:ORM连接Sqlite数据库,软件架构基础

    python语言因其语法简单易学习,且高效率应用广,近几年来发展迅猛,一度进入编程语言排行榜前六名.为了使程序员能更快的学习Python语言,所以写的此教程.也可以说是对自己学习的总结.但文章尽量会使 ...