Php 如何获取未添加到数据库表中的完整月份日期?
您好,我有一个sql查询,它返回以下数据,如下图所示。 我的Sql查询是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
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”