当前位置: 首页 > 面试题库 >

MySQL查询按日期范围分组?

汤兴生
2023-03-14
问题内容

我在MySQL中有一张表,该表显示了我每天记录的小时数。我正在尝试建立一个视图,该视图将允许我按块/天范围快速将数据分组。最简单的情况是每月一次,这并不难。我可以将日期选择为“%y-%m”,然后按该列分组。

前任:

select time_logged, date_format(start_date, '%Y-%m') AS `month_logged`
from work_log
group by month_logged

如果我按月分组,那很好。但是我的问题是,我需要从每月的13号到下个月的12号进行分组(例如:7月13日至8月12日,8月13日至9月12日,等等)。

有没有一种简单的方法可以在单个查询/视图中执行类似的操作?我似乎无法提出满足我的需求的查询,即使使用不同的日期字段组合也是如此。


问题答案:

减去13天,然后进行分组:

select time_logged,
       date_format(start_date - interval 12 day, '%Y-%m') AS `month_logged`
from work_log
group by month_logged;


 类似资料:
  • 我需要帮助查询与日期范围的长收集。请参阅下面的示例文档。我想用日期范围查询startTime字段。

  • 感谢所有人!

  • 我的文档中有一个日期范围(使用日期对象)如下所示 我试图弄清楚如何构建一个查询来返回包含特定日期的所有事件,例如,像.... 如果查询显示类似这样的内容,但在Firestore查询限制下可能不可能出现这种情况。 因此,我一直在挠头几个小时,要么为此构建一个查询,要么以某种方式结构我的数据,以允许这样做。 这有可能吗?

  • 问题内容: 我有一个看起来像这样的数据库表: 写入此日志时,它包含日志记录和unix时间戳。我需要的是获取每周报告,以了解每周有多少日志记录。这是我写的查询: 这给出了这样的结果: 伟大的!但是我想看到的是一个日期范围,如,所以我的结果集如下所示: 有什么办法吗? 问题答案: 使用以获得合适的日期一样,然后用得到你需要的格式。

  • 问题内容: 我正在寻找从MySQL数据库创建以下图表。我知道如何实际创建图表(使用Excel或类似程序),我的问题是如何获取创建图表所需的数据。在此示例中,我可以看到1月1日有60张票处于绿线所示的状态。 我需要跟踪日期范围内项目的票证的历史状态。日期范围由项目经理确定(本例中为1月1日至1月9日)。 对于每张票,我都有以下一组历史数据。每次票证中发生某些更改(状态,描述,受让人,客户更新以及此问

  • MySQL 提供了  BETWEEN AND 关键字,用来判断字段的数值是否在指定范围内。 BETWEEN AND 需要两个参数,即范围的起始值和终止值。如果字段值在指定的范围内,则这些记录被返回。如果不在指定范围内,则不会被返回。 使用 BETWEEN AND 的基本语法格式如下: [NOT] BETWEEN 取值1 AND 取值2 其中: NOT:可选参数,表示指定范围之外的值。如果字段值不满