一尘不染

如何按周分组以指定工作日结束?

sql

我需要运行按周分组的报告。这可以通过使用来完成,group by week(date)但是客户希望设置标记星期几的星期几。因此可以是星期二,星期三等。如何将其按查询分组?

datetime列的类型为unix时间戳。


阅读 177

收藏
2021-03-08

共1个答案

一尘不染

WEEK()函数采用可选的第二个参数来指定一周​​的开始时间:

此函数返回日期的星期数。两种参数形式的,WEEK()您可以指定星期是从星期日还是星期一开始,以及返回值应在0到53还是1到53的范围内。

但是,只能将其设置为星期日或星期一。


更新: 除了下面的注释,您还可以考虑根据注释中的建议,向表中添加新列以用作分组字段WEEK(DATE_ADD(date INTERVAL x DAY))。您可能希望创建触发器以在date字段更新和插入新行时自动生成此值。然后,您将可以根据需要在此新字段上创建可用索引。

2021-03-08