【发布时间】:2017-03-23 12:21:26
【问题描述】:
数据以 UTC 格式存储在 DB 中,我必须将本地转换为 UTC 获取它然后在本地时间显示结果。 现在我来自印度,所以如果我想搜索今天的数据,我必须从 3 月 22 日 6:30 PM UTC 到 3 月 23 日 6:30 PM UTC 进行查询。现在假设我想检查一周中的每一天的数据,直到现在是 4:30 PM local 。现在我写了这个查询[简单来说,我的目标是获取每天上午 12 点到下午 4:30 的访客人数]
SELECT
FLOOR(TIMESTAMPDIFF(HOUR, "2017-03-16 18:29:59",
visit.date_created)/24) as dayofweek,
DAYOFWEEK(visit.date_created) day_num,
@rownum := @rownum + 1 as date_created_set_av,
count(distinct(visit.pkey)) AS Visits,
sum(revenue) AS Revenue,
sum(revenue) / count(distinct(visit.pkey)) as EPC
FROM la_20.visit, la_20.action
cross join (select @rownum := 0) r
WHERE visit.pkey=action.pkey and (visit.is_bot = 0)
AND visit.date_created >="2017-03-16 18:29:59"
AND visit.date_created <="2017-03-23 18:29:59"
AND TIME(visit.date_created)<="16:30:00"
GROUP BY dayofweek order by day_num
但它所做的是从 2017-03-23 00:00:00 到 2017-03-23 16:30:00 获取值。我需要的是从 18:29:59 到 16:30:00 显示每天 16 到 23 日数据的结果。请记住,我需要每天而不是一天的结果。谁能帮忙
【问题讨论】: