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

按周/月间隔的日期范围分组

施阳夏
2023-03-14
问题内容

我正在使用MySQL,并且具有下表:

| clicks | int  |
|   period  | date |

我希望能够生成这样的报告,其中在过去4周内完成了各个周期:

|   period    | clicks |
|  1/7 - 7/5  |  1000  | 
| 25/6 - 31/7 |  ....  |
| 18/6 - 24/6 |  ....  |
| 12/6 - 18/6 |  ....  |

或最近3个月内:

| period | clicks |
|  July  |  ....  |
|  June  |  ....  |
| April  |  ....  |

有什么想法可以进行选择查询以生成等效的日期范围和点击次数吗?


问题答案:
SELECT
 WEEKOFYEAR(`date`) AS period,
 SUM(clicks) AS clicks
FROM `tablename`
WHERE `date` >= CURDATE() - INTERVAL 4 WEEK
GROUP BY period

SELECT
 MONTH(`date`) AS period,
 SUM(clicks) AS clicks
FROM `tablename`
WHERE `date` >= CURDATE() - INTERVAL 3 MONTH
GROUP BY period


 类似资料:
  • 问题内容: 通过这个简单的功能,我可以获得星期几。现在,用星期几,如何获取从星期日开始的日期范围? 欢迎任何帮助。谢谢。 问题答案: 前言: 返回您从星期一开始的星期数,因此我将回答您的问题,该问题也处理从星期一开始的星期。如果您希望它在周日开始的几周内工作,请根据需要进行更改。 我在中发布了该实用程序,请参见。 标准库没有提供可以返回给定星期(年+周数)的日期范围的函数。因此,我们必须自己构建。

  • 感谢所有人!

  • 问题内容: 我希望得到一些帮助,以帮助我编写一些自己编写的SQL语句。 我有一张数据表: 我需要获得以下信息: 换句话说,按日期划分日期范围。在SQL中甚至可能吗? 我的数据库是Oracle 11G R2,由于某些情况,我担心不能使用PL / SQL。 问题答案: 可以在SQL中执行此操作。有两个技巧。首先是生成一系列数字,您可以使用进行CTE处理。 第二个是将正确的逻辑放在一起以扩展日期,同时保

  • 问题内容: 我想将日期范围划分为各个月份。 例如-我有一个以以下方式包含数据的视图: 我希望能够以这种方式显示以上数据: 有人可以帮我吗? 问题答案: 下面的查询应该可以解决问题。该(该条款)动态生成一些月份的数据,我们可以使用它来加入反对。

  • 问题内容: 我在MySQL中有一张表,该表显示了我每天记录的小时数。我正在尝试建立一个视图,该视图将允许我按块/天范围快速将数据分组。最简单的情况是每月一次,这并不难。我可以将日期选择为“%y-%m”,然后按该列分组。 前任: 如果我按月分组,那很好。但是我的问题是,我需要从每月的13号到下个月的12号进行分组(例如:7月13日至8月12日,8月13日至9月12日,等等)。 有没有一种简单的方法可

  • 问题内容: 我有一个带有卖单的表格,我想列出两个日期之间每天的卖单数量,并且不留日期间隔。 这是我目前所拥有的: 我得到的结果如下: 但是我想要得到的是: 那可能吗? 问题答案: 动态创建日期范围并针对您的订单表进行合并:- 这可以处理多达1000天的日期范围。 请注意,根据您用于日期的字段类型,可以轻松提高效率。 编辑-根据要求,以获取每月的订单数:-