php - 如何从 MySql 获取日期明智的报告

标签 php mysql

我有如下表(dataTbl)。

id  date
 1  05-08-2013
 2  10-08-2013
 3  11-08-2013
 4  12-08-2013
 5  12-08-2013
 6  12-08-2013
 7  21-08-2013
 8  22-08-2013
 9  23-08-2013
10  23-08-2013
11  24-08-2013
12  29-08-2013
13  30-08-2013
14  30-08-2013
15  30-08-2013

我想在执行查询后在 01-08-2013 到 30-08-2013 之间获得如下输出:-

date       entries
01-08-2013 0
02-08-2013 0
03-08-2013 0
04-08-2013 0
05-08-2013 1
06-08-2013 0
07-08-2013 0
08-08-2013 0
09-08-2013 0
10-08-2013 1
11-08-2013 1
12-08-2013 3
13-08-2013 0
14-08-2013 0
15-08-2013 0
etc., etc.,

如何在 MySQL 查询中执行此操作?请帮助我!

在表中它有第 5、10、11、12(3 个条目)、21、22、23(2 个条目)的记录。

但是输出应该以 01, 02, 03, 04, 05, 06, 07, 08, 09, 10... 开头,带有条目数。

最佳答案

如果您不想使用 php 或存储过程,您将需要第二个表来列出所有日期,例如 all_dates

select listdate, count(datatbl.date) from all_dates 
left outer join datatbl on all_dates.listdate = datatbl.date

或者选择

Select listdate,0 from all_dates where listdate not in (select distinct date from datatbl)
union 
select date, count(*) from databl group by date

关于php - 如何从 MySql 获取日期明智的报告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18642702/

相关文章:

php - mysql 匹配~例子

php - Imagemagick PDF 转 JPG 质量差 PHP

php - Laravel 多对多关系问题

php - 如何让我的 html/php 表单正确地将数据插入我的数据库

mysql - 在查询中多次使用查询结果

mysql - 将 int-hash 列添加到 small-ish char/binary 列会提高检索性能吗?

php - 如何在 PHP 中使用 PostgreSQL 函数输出

php - 创建网格而不是表格

php - 在 Laravel 中搜索两个数字(价格)

MySQL 选择查询解释