MYSQL数据库,查询一周内,合计每天的数量和出现的行数,没有记录的那一天就显示0
2014-06-05 12:20
926 查看
示例:
一、表结构及测试数据:
CREATE TABLE tst (
testDate date,
testSum INT
);
INSERT INTO tst VALUES ( '2014-01-01', 1);
INSERT INTO tst VALUES ( '2014-01-02', 3);
INSERT INTO tst VALUES ( '2014-01-02', 4);
INSERT INTO tst VALUES ( '2014-01-03', 5);
INSERT INTO tst VALUES ( '2014-01-05', 9);
INSERT INTO tst VALUES ( '2014-01-06', 11);
INSERT INTO tst VALUES ( '2014-01-07', 13);
二、SQL执行语句:
SELECT
t2.all_day AS `日期`,
IFNULL(SUM(testSum), 0) AS `合计数量`,
COUNT(testSum) AS `出现行数`
FROM
(
SELECT
@rownum :=@rownum + 1 AS NO,
DATE_ADD(
'2014-01-01',
INTERVAL @rownum DAY
) AS all_day
FROM
(SELECT @rownum := -1) r_init,
tst
) t2
LEFT JOIN tst ON (
t2.all_day = DATE(tst.testDate)
)
WHERE
t2.all_day >= '2014-01-01'
AND t2.all_day <= '2014-01-07'
GROUP BY
t2.all_day;
三、运行结果:
一、表结构及测试数据:
CREATE TABLE tst (
testDate date,
testSum INT
);
INSERT INTO tst VALUES ( '2014-01-01', 1);
INSERT INTO tst VALUES ( '2014-01-02', 3);
INSERT INTO tst VALUES ( '2014-01-02', 4);
INSERT INTO tst VALUES ( '2014-01-03', 5);
INSERT INTO tst VALUES ( '2014-01-05', 9);
INSERT INTO tst VALUES ( '2014-01-06', 11);
INSERT INTO tst VALUES ( '2014-01-07', 13);
二、SQL执行语句:
SELECT
t2.all_day AS `日期`,
IFNULL(SUM(testSum), 0) AS `合计数量`,
COUNT(testSum) AS `出现行数`
FROM
(
SELECT
@rownum :=@rownum + 1 AS NO,
DATE_ADD(
'2014-01-01',
INTERVAL @rownum DAY
) AS all_day
FROM
(SELECT @rownum := -1) r_init,
tst
) t2
LEFT JOIN tst ON (
t2.all_day = DATE(tst.testDate)
)
WHERE
t2.all_day >= '2014-01-01'
AND t2.all_day <= '2014-01-07'
GROUP BY
t2.all_day;
三、运行结果:
相关文章推荐
- SQL:显示每天的小计,某一天没有记录也要显示
- sql主表查询,附带显示子表记录数量。
- mysql查询 根据月份查询每天的数据 没有数据显示0
- JQuery EasyUI的datagrid,查询后数据返回来了,但是页面不显示数据,也没有表格,只要行数
- GridView1查询出没有记录的时候GridView1就很不显示,很难看,可以让GridView1去绑定一张空表没有记录的表
- Mysql 查询一天中每半小时记录的数量
- 【库房】查询无数据时如何显示——没有相关记录!
- group by 下 没有记录的分组字段的数量显示为0的方法
- easyui-datagrid查询到没有数据时,设置显示“没有相关记录”
- SQL查询_____查询最近30天内正确率大于60%的阅读记录,每天只显示符合条件的速度最高的那个
- [学习笔记]小型论坛功能——实现按照指定每页的行数来分页显示记录[3]
- 在查询结果中添加一列表示记录的行数的sql语句
- 有关oracle查询出现的重复记录怎么去除的方法谈
- 大数量查询分页显示微软的解决办法
- 好几条记录只是仓位及数量不同,其它内容都一样,现在要显示出一条来,仓位及数量用"/"分开
- 查询当月每天求职者注册的数量
- [导入]如何在查询结果中添加一列表示记录的行数?
- Oracle 新闻查询 第一条记录标题红色显示并截字
- 大数量查询分页显示 微软的解决办法
- 大数量查询分页显示 微软的解决办法