我有一个包含日期时间记录和测量值的数据库。
我一直在编写两个单独的查询,一个是返回上个月一天中特定时间之间所有每日记录的总计数,另一个是相同的查询,但仅在测量值低于阈值时才计数。
然后,我手动将阈值计数除以每天的总计数,我可以获得正常运行时间百分比或 SLA。
所以我有两个问题:
1)我可以将这两个查询合并为一个查询吗? 我找到了 #1 的答案,见下文
2) 我可以继续在查询中进行数学运算吗,所以我得到的只是每天的列表,上面的计数,下面的计数,以及上面的 % 或低于阈值...
下面列出了示例数据和查询。
TableA
主机名、日期时间、值
示例查询返回上个月的天数,不包括周末天数。
SELECT
count(*),
DATE(date_time),
SUM(
CASE WHEN rssi_val < 100
THEN 1
ELSE 0
END
)
FROM TableA
WHERE hostname = 'hostA'
AND DATE(date_time) BETWEEN '2013-07-01' AND '2013-07-31'
AND TIME(date_time) BETWEEN '06:00:00' AND '18:00:00'
AND DAYOFWEEK(date_time) NOT IN (1, 7)
GROUP BY DATE(date_time);
所以现在我只想知道如何添加第四列,给出正常运行时间/停机时间百分比。