mysql:一个有开始日期和结束日期的表:如何为记录的每一天选择一行?

kwvwclae  于 2021-06-21  发布在  Mysql
关注(0)|答案(1)|浏览(357)

我的一个表的开始日期和结束日期都是日期。通常,它们是相等的,但在某些情况下,结束日期大于开始日期。如果可能的话,我想实现的是一个select,它为每天返回一行。例如,如果开始日期为2018-06-28,结束日期为2018-06-30,则select应为此记录返回3行。我最喜欢的方法是更改开始日期,例如:

+-----------+------------+------------+
| id        | start_date |  end_date  |
+-----------+------------+------------+
|        45 | 2018-06-28 | 2018-06-30 |
|        45 | 2018-06-29 | 2018-06-30 | 
|        45 | 2018-06-30 | 2018-06-30 | 
+-----------+------------+------------+

如果可能的话,你能把我推到正确的方向吗?搜索这个并没有带来任何有用的东西。多谢菲利普

lztngnrs

lztngnrs1#

最简单的方法是为每个日期添加一个非常基本的“dates”表,然后在dates.date在开始日期和结束日期之间加入它。
根据您的mysql版本,还可能有更复杂的“公共表表达式”(递归)查询。

相关问题