我的一个表的开始日期和结束日期都是日期。通常,它们是相等的,但在某些情况下,结束日期大于开始日期。如果可能的话,我想实现的是一个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 |
+-----------+------------+------------+
如果可能的话,你能把我推到正确的方向吗?搜索这个并没有带来任何有用的东西。多谢菲利普
1条答案
按热度按时间lztngnrs1#
最简单的方法是为每个日期添加一个非常基本的“dates”表,然后在dates.date在开始日期和结束日期之间加入它。
根据您的mysql版本,还可能有更复杂的“公共表表达式”(递归)查询。