首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >每天早上7点运行一个脚本,将前24小时的降雨量相加

每天早上7点运行一个脚本,将前24小时的降雨量相加
EN

Stack Overflow用户
提问于 2018-07-23 00:59:29
回答 2查看 48关注 0票数 0

我有一张包含最新天气参数的表格。我需要在每天早上7点运行一个脚本,它将前24小时( 7am -7am)的雨量加起来。

date列的表头为LogDateTime,格式为YYYY-MM-DD HH:MM:SS。降雨量列的标题为TodayRainSoFar,格式为#.##

得到今天的雨的粗略代码应该是这样的:

代码语言:javascript
复制
Select TodayRainSoFar
From 'monthly'
WHERE LogDateTime Like '(current date, but I can't get anything to work here) 07:00:00'

得到昨天早上7点到晚上11点59分的雨的粗略代码应该是这样的:

代码语言:javascript
复制
Select TodayRainSoFar
From 'monthly'
WHERE LogDateTime Like '(current date minus 1, but I can't get anything to work here) 23:59:00'

minus

Select TodayRainSoFar
From 'monthly'
WHERE LogDateTime Like '(current date - 1, but I can't get anything to work here) 07:00:00'

请让我知道,如果有任何其他应该包括协助。我知道基本的代码(当然可以用谷歌搜索),但这个数据库的其他所有东西都是自动化的,不是我设置的。

EN

回答 2

Stack Overflow用户

发布于 2018-07-23 05:33:13

要获得总和,请使用sum()聚合函数。要限制记录的时间戳,请使用date_add()提供的日期算法。可以通过curdate()获取当天。

代码语言:javascript
复制
SELECT sum(todayrainsofar)
       FROM monthly
       WHERE logdatetime >= date_add(date_add(curdate(), INTERVAL -1 DAY), INTERVAL 7 HOUR)
             AND logdatetime < date_add(curdate(), INTERVAL 7 HOUR);
票数 2
EN

Stack Overflow用户

发布于 2018-07-23 05:32:51

代码语言:javascript
复制
SELECT CONCAT_WS(' ', CURRENT_DATE(), '07:00:00')

应该像这样给你早上7点的日期:'2018-07-22 07:00:00‘

要获得前一天的数据,只需执行如下所示的DATE_SUB:

代码语言:javascript
复制
SELECT CONCAT_WS(' ', (DATE_SUB((CURRENT_DATE()) , INTERVAL 1 DAY)), '07:00:00')

这应该是'2018-07-21 07:00:00‘--对我来说就是这样。然后,执行相同的代码,但将'23:59:59‘替换为'07:00:00’。如果您正在寻找相等,那么您应该使用"=“运算符而不是"LIKE”。例如"WHERE LogDateTime = (concat_ws(‘',current_date(),'07:00:00'))“。

如果你想要昨天早上7点到晚上11点59分的雨,我会用"BETWEEN",就像这样:

代码语言:javascript
复制
    WHERE LogDateTime BETWEEN (concat_ws(' ', current_date(), '07:00:00')) AND
(CONCAT_WS(' ', (DATE_SUB((CURRENT_DATE()) , INTERVAL 1 DAY)), '23:59:59') )

看看这对你是否有效。哦,如果可以的话,我想再添加一个技巧:在WHERE子句中使用列函数(如CONCAT和DATE_SUB)不是您想要对大型数据集执行的操作,因为MySQL优化器实际上没有办法找出最佳访问路径。在这种情况下,我认为它会工作得很好。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51467386

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档