1

我正在尝试显示与日期相关的数据。但是在我的情况下,我不希望日期从 开始00:00:00和结束23:59:59。相反,我希望它在第二天开始16:00:00并结束。06:00:00换句话说,我想为日期创建一个自定义时间。

同时我想GROUP_BY date

例如,我在数据库中有这些值:

在此处输入图像描述

希望它给我:

date: 2013-09-08 count: 2
date: 2013-09-09 count: 1

我不是要代码,而是要一种思考方式或有用的方法。

先感谢您!

4

1 回答 1

1

最简单的方法是用现有日期减去六个小时来获得“生效”日期。您这样做只是为了输出目的。

例子:

select date(datecol - interval 6 hour) as MyDate, count(*)
from t
group by date(datecol - interval 6 hour);

您可以使用一个where子句来删除 6:00 到 16:00 之间的时间(除非是拼写错误)。

于 2013-09-09T11:39:36.263 回答