【发布时间】:2013-10-29 23:29:57
【问题描述】:
我有一张这样的桌子:
date(timestamp) Error(integer) someOtherColumns
我有一个查询要选择特定日期的所有行:
SELECT * from table
WHERE date::date = '2010-01-17'
现在我需要计算 Error 等于 0 的所有行(从那天开始),然后除以所有行的计数(从那天开始)。
所以结果应该是这样的
Date(timestamp) Percentage of failure
2010-01-17 0.30
数据库很大,有几百万行..
如果有人知道如何做到这一点,那就太好了——从一天到另一天。
Date(timestamp) Percentage of failure
2010-01-17 0.30
2010-01-18 0.71
and so on
【问题讨论】:
-
BTW 不要使用保留字如
date作为列名。它可能会导致查询中出现一些令人讨厌的错误。 -
error可以是NULL吗?您是否需要几天的结果中有一行,而表中根本没有任何条目?
标签: sql postgresql select percentage