首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用MYSQL获取两个不同日期之间的数据

使用MYSQL获取两个不同日期之间的数据
EN

Stack Overflow用户
提问于 2020-07-03 22:42:20
回答 1查看 29关注 0票数 0

表:(员工)

我需要获取两天之间的数据我使用以下查询来获取两个日期之间的数据

代码语言:javascript
运行
复制
SELECT * FROM employee WHERE Price ((DATE('2020-01-01') BETWEEN DATE(start_date) AND DATE(end_date)) OR (DATE('2020-01-03') BETWEEN DATE(start_date) AND DATE(end_date)) OR (DATE(start_date) >= DATE('2020-07-03')) AND DATE(end_date) <= DATE('2020-07-03'));

我得到了以下结果:

但我希望得到以下结果

那么,如何在mysql中获得我期望的结果数据呢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-07-03 22:46:42

您的查询似乎与您的样本数据无关。

根据您的数据,您似乎需要生成日期。您可以使用递归CTE,然后使用join来完成此操作。

代码语言:javascript
运行
复制
with recursive dates as (
      select date('2020-01-01') as dte
      union all
      select dte + interval 1 day
      from dates
      where dte < date('2020-01-04')
     )
select d.dte, e.end_date, e.employeename
from employee e join
     dates d
     on d.dte between e.start_date and e.end_date

Here是一个db<>fiddle。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62717712

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档