私たちはプロセスからのデータを記録するためにPostgresを使用します。次のように当社のデータベースの例は次のとおりです。Postgres時間平均データ
CREATE TABLE Data
("time_stamp" timestamp, "pressure" numeric, "temperature" numeric, "flow" numeric);
INSERT INTO Data
("time_stamp", "pressure", "temperature", "flow")
VALUES
('2016-05-12 20:42:24', 97.68, 9.02564, 2.24664),
('2016-05-12 20:42:25', 97.68, 9.02564, 2.24054),
('2016-05-12 20:42:26', 122.1, 9.01832, 2.24054),
('2016-05-12 20:42:27', 122.1, 9.01099, 2.23443),
('2016-05-12 20:42:28', 97.68, 9.01099, 2.23443),
('2016-05-12 20:42:29', 122.1, 9.01099, 2.24054),
('2016-05-12 20:42:30', 97.68, 9.01099, 2.23443),
('2016-05-12 20:42:31', 122.1, 9.01099, 2.23443),
('2016-05-12 20:42:32', 122.1, 9.01832, 2.24054),
('2016-05-12 20:42:33', 122.1, 9.01832, 2.23443);
は、私は何をしようとしていることは、任意のタイムスライスの平均化されたデータを生成する(pgAdminIIIを使用して)のPostgresを取得している、5秒と言います。その5秒間のスライスの平均時間、圧力、温度、流れの欄を出力します。このデータには2つのエントリがあり、時刻エントリは '2016-05-12 20:42:26'と '2016-05-12 20:42:31'です。
どのような機能をお勧めしますか?コードを試しましたが、データセット全体でうまく動作しません。 – cshoopman
私は関数で自分の答えを編集しました。 – perzsa
昨日何らかの理由で私のデータ出力がちょうど毎秒ではなかったので、1日を通して25秒をスキップしました。このコードは毎秒エントリがないときにどのようにその状況を処理しますか? 私はdataCheck(300)WHERE TIME_STAMP :: DATE = 'YESTERDAY'; '関数を使って、これを昨日のデータファイルに適用しました。最初のタイムスタンプは平均して00:04:20になり、私はそれが00:02:30程度になると予想していました。 – cshoopman