我正在尝试计算一天中发生的事件,这本身很容易:
SELECT date(time),COUNT(DISTINCT comment)
FROM data
GROUP BY date(time)
但我需要在下午4点设定一天。因此,下午4点前的所有评论都是N天,下午4点后的新闻是N + 1天。这不是一个全球性的事情,所以我宁愿不改变整个程序的时区等等。也许我可以以某种方式将时区应用于此查询或填充时间?
答案 0 :(得分:1)
SELECT
DATE_ADD(date(time),
INTERVAL case when time(time)>='16:00:00' then 1 else 0 end DAY) as day,
COUNT(DISTINCT comment)
FROM data
GROUP BY day
答案 1 :(得分:1)
你试过这个:
SELECT date(time + INTERVAL 8 HOUR) as day, COUNT(DISTINCT comment)
FROM data
GROUP BY day
您希望您的日子在下午4点结束,或者提前8小时结束,因此,我们会在time
添加8小时,迫使日期在下午4点结束。