Cognos/Flexnet manager SQL-计算每个时间段的值

Cognos/Flexnet manager SQL-计算每个时间段的值,sql,database,licensing,cognos,flexlm,Sql,Database,Licensing,Cognos,Flexlm,我的任务是通过Flexnet manager(flexlm)控制的数据库中存储的数据分析许可证利用率。我需要绘制的是在特定时间段(高水位线)内使用的并发许可证的数量。我在这方面遇到了一些问题,因为我对SQL或BI工具的经验很少 我已经拿了两个表,license\u events和license\u features(它们已经针对特定的用户和功能进行了筛选)。然后,我完成了一个连接来创建一个License\u功能表。示例数据如下所示: CLIENT_PROJECT FEATURE_NAME LIC

我的任务是通过Flexnet manager(flexlm)控制的数据库中存储的数据分析许可证利用率。我需要绘制的是在特定时间段(高水位线)内使用的并发许可证的数量。我在这方面遇到了一些问题,因为我对SQL或BI工具的经验很少

我已经拿了两个表,
license\u events
license\u features
(它们已经针对特定的用户和功能进行了筛选)。然后,我完成了一个连接来创建一个License\u功能表。示例数据如下所示:

CLIENT_PROJECT FEATURE_NAME LIC_COUNT START_TIME    EVENT_TIME DURATION 
BGTV           eclipse      1         1,422,272,438 1422278666 6,228 
BGTV           eclipse      1         1,422,443,815 1422443845 30 
BGTV           eclipse      1         1,422,615,676 1422615681 5 
BGTV           eclipse      1         1,422,631,395 1422631399 4 
BGTV           eclipse      4         1,422,631,431 1422631434 3 
BGTV           eclipse      1         1,422,631,465 1422631474 9 
BGTV           eclipse      1         1,422,631,472 1422631474 2 
BGTV           eclipse      2         1,422,632,128 1422632147 19 
BGTV           eclipse      1         1,422,632,166 1422632179 13 
BGTV           eclipse      6         1,422,632,197 1422632211 14 
我现在需要的是这样的图表:

每次(秒)
sum(LIC\u COUNT)
其中
start\u time
=
time

理想情况下,这应该为我提供在特定秒签出的并发许可证数量。如果我能在不同的时间段(如数小时或数天)获得这些信息,那就更好了


我该怎么做呢?

使用
groupby
关键字将
SUM()
组合到一个特定列上。例如,将
LIC\u计数的
SUM()
按每个
START\u时间进行分组

SELECT START_TIME, SUM(LIC_COUNT) AS TOTAL_LIC_COUNT
FROM YOUR_TABLE
GROUP BY START_TIME
现在,要在
开始时间
结束时间
之间的每一个增量处执行
SUM()。例如,如果您创建了一个名为
UniqueTimes
的表,其中包含最早的
START\u DATE
和最后一个
END\u DATE
之间的所有可能值。然后你可以做如下的事情

SELECT UniqueTime, SUM(LIC_COUNT) AS TotalLicCount
FROM YOUR_TABLE
LEFT JOIN UniqueTimes ON (UniqueTime >= START_TIME AND UniqueTime <= END_TIME)
GROUP BY UniqueTime
选择UniqueTime,SUM(LIC_COUNT)作为totaliccount
从你的桌子上

左键连接唯一时间打开(UniqueTime>=开始时间和UniqueTime您是否找到了问题的解决方案?如果您的问题的任何答案都解决了问题,请不要忘记通过单击答案旁边的灰色勾号来接受。如果您以其他方式解决了问题,您可以发布自己的答案并接受,以便将来的访问者可以通过您的解决方案获得帮助。