首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >正在尝试将月度报告修改为每周报告。Aspen Sql

正在尝试将月度报告修改为每周报告。Aspen Sql
EN

Stack Overflow用户
提问于 2010-08-17 01:29:19
回答 1查看 879关注 0票数 1

我对SQL编程非常陌生。我正在尝试修改每月的运行时报告,以便可以获得每周时间间隔的信息。当开始时间和结束时间在同一个月时,我的代码只输出0。我不知道为什么。

代码语言:javascript
复制
Function TagCount ( Tag1Name char(24), Tag1Cond integer, Tag2Name char(24), Tag2Cond integer, StartTime timestamp, EndTime timestamp)
local count real;

count = (select count(*) from
(SELECT NAME,TS,VALUE AS V1VALUE FROM HISTORY WHERE (NAME = Tag2Name)
AND (PERIOD = '0:00:15')
AND (REQUEST='1')
AND (STEPPED='1')
AND TS between StartTime  and EndTime  JOIN
(SELECT NAME,TS,VALUE AS F1VALUE FROM HISTORY WHERE (NAME = Tag1Name)
AND (PERIOD = '0:00:15')
AND (REQUEST='1')
AND (STEPPED='1')
AND TS between StartTime  and EndTime ) USING (TS)) where V1VALUE = Tag2Cond and F1Value = Tag1Cond);

Return(count);
END
local
    starttime timestamp,
    run_hours real,
    i integer,
    endtime timestamp;

starttime = '01-JUN-10 00:00:00.0';
endtime = '12-AUG-10 00:00:00.0';

write ',';
FOR i=1 TO 21 DO

run_hours = 1/240.0*TagCount('runningtag',1,'producttag',i,starttime,endtime);
IF run_hours IS NULL THEN run_hours = 0; END
write run_hours;            
END

示例数据:

名称: TS F1VALUE

运行标签16-AUG-10 15:35:30.1 1

运行标签16-AUG-10 15:35:45.1 1

运行标签16-AUG-10 15:36:00.1 1

运行标签16-AUG-10 15:36:15.1 1

运行标签16-AUG-10 15:36:30.1 1

运行标签16-AUG-10 15:36:45.1 1

运行标签16-AUG-10 15:37:00.1 1

名称: TS F1VALUE

产品编码16-AUG-10 15:35:30.1 13

产品编码16-AUG-10 15:35:45.1 13

产品编码16-AUG-10 15:36:00.1 13

产品编码16-AUG-10 15:36:15.1 13

产品编码16-AUG-10 15:36:30.1 13

产品编码16-AUG-10 15:36:45.1 13

产品编码16-AUG-10 15:37:00.1 13

我正在尝试以小时为单位估计运行时间。我只是想澄清一下。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-08-17 03:21:15

首先,您可以尝试将SQL简化为:

代码语言:javascript
复制
SELECT count(*)
  FROM history h
 WHERE h.period = '0:00:15'
       AND h.request = '1'
       AND h.stepped = '1'
       AND h.ts BETWEEN StartTime AND EndTime
       AND (   (h.name = Tag1Name AND h.value = Tag1Cond) 
            OR (h.name = Tag2Name AND h.value = Tag2Cond));

除此之外,我不明白为什么您不能获得同一个月中两个日期的值--除非您的数据只包含每月的条目,我猜情况并非如此。

你能从历史表中张贴一些样本数据吗?

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

https://stackoverflow.com/questions/3495638

复制
相关文章

相似问题

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