我的一个表确实有一个start_date和end_date,两者都是DATE类型。 通常,它们是相等的,但在某些情况下,end_date大于开始日期。 如果可能的话,我想要实现的是每天返回ROW的SELECT。 所以例如如果start_date是2018-06-28,结束日期是2018-06-30,则SELECT应为此记录返回3行。我最喜欢的方式是更改start_date,如:
+-----------+------------+------------+
| 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 |
+-----------+------------+------------+
如果有可能的话,你可以给我一个正确的方向吗?搜索这些并没有带来任何有用的东西。 非常感谢 菲利普
答案 0 :(得分:0)
最简单的方法是在每个日期添加一个非常基本的“日期”表,然后在dates.date BETWEEN start_date和end_date上加入它。
根据您的MySQL版本,可能还会有更复杂的“公用表表达式”(递归)查询。