这个问题已经在这里有了答案 :
从日期范围生成天数
(29个答案)
2年前关闭。
在mysql中生成给定范围内的一系列日期的最佳方法是什么?
我想到的应用程序是编写一个报表查询,该查询将为每个日期返回一行,而不管是否有要报告的数据。最简单的形式:
select dates.date, sum(sales.amount)
from <series of dates between X and Y> dates
left join sales on date(sales.created) = dates.date
group by 1
我曾尝试创建一个包含许多日期的表,但这似乎是一个较差的解决方法。
我认为拥有 日历表 是个好主意;您可以获得很多报告和查询功能,尤其是在填充稀疏数据范围时。
我发现这篇文章似乎是一个很好的例子。
问题内容: 源表如下: 我想得到以下输出: 我必须使用循环来填充此表吗? 谢谢 问题答案: 您可以使用技巧来查询 演示
问题内容: 在PostgreSQL中,是否可以生成一系列重复数字?例如,我要生成数字1到10,每个数字重复3次: 问题答案: 您可以将其交叉加入一系列3:
在MySql中的SQL语句中,可以轻松地使用以下方法创建一行值: 选择1、2、3、4、5、6、7、8、9、10; 这将生成包含从1到10的数字的单行,但是否可能有包含这些值的单列。
问题内容: 我需要一个查询,该查询将输出两个给定日期之间的日期列表。 例如,如果我的开始日期是2016年2月23日,结束日期是2016年2月3日,我期望获得以下输出: 另外,我只需要使用SQL进行上述操作(不使用“ WITH”语句或表)。请帮忙。 问题答案: 我使用的通常是DB2 for iSeries,所以我将为您提供一个仅适用于它的SQL解决方案。目前,我无法访问服务器,因此该查询未经测试,但
问题内容: 我有以下代码可以做到这一点,但是我该如何做得更好呢?现在,我认为它比嵌套循环更好,但是当列表理解器中包含生成器时,它开始变得。 笔记 - 我实际上并没有用它来打印。这只是出于演示目的。 - 在和变量是因为我不需要时间戳对象。(它们将用于生成报告)。 样本输出 开始日期为2019-05-30,结束日期为2019-06-09: 问题答案: 为什么会有两个嵌套的迭代?对我来说,它仅需一次迭代
问题内容: 我想遍历一系列的日历日期,每次迭代为+1天。我将使用Java中围绕JodaTime构建的东西-NodeJS中是否有类似的东西? 问题答案: 您可以在node.js应用程序中使用moment.js。 然后,您可以很容易地做到这一点: 嗯…这看起来很像您已经在自己的答案中编写的代码。Moment.js是一个更受欢迎的库,具有大量功能,但是我想知道哪个库的性能更好?也许您可以测试并告诉我们。