Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何获取未添加到数据库表中的完整月份日期?_Php_Mysql_Mysqli - Fatal编程技术网

Php 如何获取未添加到数据库表中的完整月份日期?

Php 如何获取未添加到数据库表中的完整月份日期?,php,mysql,mysqli,Php,Mysql,Mysqli,您好,我有一个sql查询,它返回以下数据,如下图所示。 我的Sql查询是 SELECT datei, sum(amount) FROM ( SELECT datei, amount, 1 AS identification FROM income UNION ALL SELECT datee, amount, 2 AS identification FROM expense UNION ALL SELECT date, amount, 3 AS identification FROM

您好,我有一个sql查询,它返回以下数据,如下图所示。 我的Sql查询是

SELECT datei, sum(amount)
FROM
(
 SELECT datei, amount, 1 AS identification FROM income
 UNION ALL
 SELECT datee, amount, 2 AS identification FROM expense
 UNION ALL
 SELECT date, amount, 3 AS identification FROM others
) t
GROUP BY datei
ORDER BY datei ASC
结果是

这将返回客户注册的日期。 我需要整个月的所有日期。在数据库中跳过的。 如图所示,2017/09/04之后的下一个日期为2017/09/06,因此跳过了05日期

根据图中所示的示例,我需要01到12天之间的所有天数。
如何使用PHP实现这一点?

类似的东西应该可以工作,但还没有测试过

select date, sum(amount) as sumOfAmount
from
(
  SELECT DATE_ADD('2008-01-01', INTERVAL @rn:=@rn+1 DAY) as date from (select @rn:=-1)t, `your_table_name` limit 365
) d left outer join `your_table_name` using (date)
group by date

像这样的东西应该可以用,但还没有测试过

select date, sum(amount) as sumOfAmount
from
(
  SELECT DATE_ADD('2008-01-01', INTERVAL @rn:=@rn+1 DAY) as date from (select @rn:=-1)t, `your_table_name` limit 365
) d left outer join `your_table_name` using (date)
group by date

您需要外部联接表或选择月内有所有天的表。


您需要外部联接表或选择月内有所有天的表。


发布您的PHP或查询以便我们能够提供帮助。我发布了查询。请检查您的所有数据集的数据字段数是否相等。否,它不相等。根据SQL站点
UNION中的每个SELECT语句都必须在具有类似数据类型的结果集中具有相同数量的字段。
这可能是问题所在。发布您的PHP或查询以便我们提供帮助。我发布了查询。请检查所有数据集的数据字段数是否相等。否,不相等。根据SQL站点
的规定,UNION中的每个SELECT语句在具有类似数据类型的结果集中都必须具有相同数量的字段。
这可能是问题所在。Thanx@VasilNikolov@TarangPanchal记住这是固定的月份和年份。固定日期为31。日期不固定,您可以尝试使用“2017-02-”,您将看到28天。关键是“having dt is not null”Thanx@VasilNikolov@TarangPanchal记住这是固定的月份和年份。固定日期为31。日期不固定,您可以尝试使用“2017-02-”,您将看到28天。密钥是“having dt not null”