いくつかの分析に使用できるデータをプルするこのクエリがあります。
SELECT distinct egauge_analyze_2.dataid,
date_trunc('hour', egauge_analyze_2.timestamp_localtime)::time AS HOUR,
avg(egauge_analyze_2.use) AS USE
FROM dev.egauge_analyze_2
WHERE egauge_analyze_2.timestamp_localtime BETWEEN
'2012-07-16 00:00:00' AND '2012-08-17 23:59:59'
AND egauge_analyze_2.use IS NOT NULL
-- AND use > 0
GROUP BY 1,2
ORDER BY 1,2
上記で(そのままで)使用すると、適切なデータが得られ、null値を持つすべてのデータID(およびそのすべてのデータ)がいつでも破棄されます。使用の制約> 0を追加すると、データIDの破棄が停止します。値をnullにします。
データは、dataids(一意のデバイスの値)、タイムスタンプ、およびUSE(その時点でのそのデバイスの消費電力)で構成されています-デバイスの季節プロファイルを取得しようとしていますが、nullを指定したデバイス全体を破棄しますまたは誤った(負の)データ。
nullまたは<=0の使用価値については、すべてのdataid(およびそのすべてのデータ)を破棄したいと思います。アイデアはありますか?