1
私は多くのセンサーから提供されたデータの集まりを持っており、特定のタイムゾーンでセンサーごとの最終日の値を取得する必要があります。最後の日を選択してください。ヌル値ではなく、タイムゾーン
すべてのデバイスはGEOに位置していますので、私はそれに応じた日が必要です。
CREATE TABLE public.dt_weight(
hive character(20) NOT NULL,
hiveconnection integer,
instant timestamp with time zone NOT NULL,
weight integer,
optweight integer,
CONSTRAINT dt_weight_pkey PRIMARY KEY (hive, instant)
)
と問合せ::
がここに関わっテーブルです
SELECT w1.*
FROM dt_weight w1
JOIN (
SELECT hive, DATE_TRUNC('day', instant AT TIME ZONE 'pst') AS moment,
MAX(instant) AT TIME ZONE 'pst' AS last
FROM dt_weight
WHERE weight IS NOT NULL AND hive = '002C0055700833024E45'
GROUP BY DATE_TRUNC('day', instant AT TIME ZONE 'pst'), hive
) w2
on (w1.instant = w2.last AND w1.hive=w2.hive)
WHERE w1.hive = '002C0055700833024E45'
ORDER BY moment
と結果(ハイブ、瞬間、最後の):
"002C0055700833024E45";932890;"2015-11-23 23:55:42+01";27800;
"002C0055700833024E45";933006;"2015-11-25 23:56:02+01";27770;
"002C0055700833024E45";933065;"2015-11-26 23:56:22+01";27610;
瞬間と最後が返されますタイムゾーンなしのタイムスタンプと多くのレコードがありません。サブクエリだけを試してみると、より多くの値が得られます。
SELECT hive, DATE_TRUNC('day', instant AT TIME ZONE 'pst') AS moment,
MAX(instant) AT TIME ZONE 'pst' AS last
FROM dt_weight
WHERE weight IS NOT NULL AND hive = '002C0055700833024E45'
GROUP BY DATE_TRUNC('day', instant AT TIME ZONE 'pst'), hive
ORDER BY last
"002C0055700833024E45";"2015-11-18 00:00:00";"2015-11-18 23:57:17"
"002C0055700833024E45";"2015-11-19 00:00:00";"2015-11-19 23:58:12"
"002C0055700833024E45";"2015-11-20 00:00:00";"2015-11-20 23:52:12"
"002C0055700833024E45";"2015-11-21 00:00:00";"2015-11-21 23:53:03"
"002C0055700833024E45";"2015-11-22 00:00:00";"2015-11-22 23:55:47"
"002C0055700833024E45";"2015-11-23 00:00:00";"2015-11-23 23:55:42"
"002C0055700833024E45";"2015-11-24 00:00:00";"2015-11-24 23:56:02"
"002C0055700833024E45";"2015-11-25 00:00:00";"2015-11-25 23:56:02"
"002C0055700833024E45";"2015-11-26 00:00:00";"2015-11-26 23:56:22"
18〜22,24日は表示されません。なぜ?!?私のクライアントタイムゾーンはCESTです。このクエリはより大きな計画の一部として意味されることに言及する必要があります。完全のために
ここでは、ソースデータのスライスです:
SELECT hive, DATE_TRUNC('day', instant AT TIME ZONE 'pst') AS moment, instant AT TIME ZONE 'pst', weight
FROM dt_weight
WHERE weight IS NOT NULL AND hive = '002C0055700833024E45'
ORDER BY instant
"002C0055700833024E45";"2015-11-18 00:00:00";"2015-11-18 03:04:57";3540
"002C0055700833024E45";"2015-11-18 00:00:00";"2015-11-18 03:05:17";3540
"002C0055700833024E45";"2015-11-18 00:00:00";"2015-11-18 06:47:27";0
"002C0055700833024E45";"2015-11-18 00:00:00";"2015-11-18 06:57:27";0
"002C0055700833024E45";"2015-11-18 00:00:00";"2015-11-18 07:07:27";0
"002C0055700833024E45";"2015-11-18 00:00:00";"2015-11-18 07:17:27";0
"002C0055700833024E45";"2015-11-18 00:00:00";"2015-11-18 07:27:27";0
"002C0055700833024E45";"2015-11-18 00:00:00";"2015-11-18 07:37:27";0
"002C0055700833024E45";"2015-11-18 00:00:00";"2015-11-18 07:47:27";0
"002C0055700833024E45";"2015-11-18 00:00:00";"2015-11-18 07:57:27";0
"002C0055700833024E45";"2015-11-18 00:00:00";"2015-11-18 08:07:27";0
"002C0055700833024E45";"2015-11-18 00:00:00";"2015-11-18 08:17:27";0
"002C0055700833024E45";"2015-11-18 00:00:00";"2015-11-18 08:27:27";0
"002C0055700833024E45";"2015-11-18 00:00:00";"2015-11-18 08:37:27";0
"002C0055700833024E45";"2015-11-18 00:00:00";"2015-11-18 08:47:27";0
"002C0055700833024E45";"2015-11-18 00:00:00";"2015-11-18 08:57:27";0
"002C0055700833024E45";"2015-11-18 00:00:00";"2015-11-18 09:07:27";0
"002C0055700833024E45";"2015-11-18 00:00:00";"2015-11-18 09:17:27";0
"002C0055700833024E45";"2015-11-18 00:00:00";"2015-11-18 09:27:27";0
"002C0055700833024E45";"2015-11-18 00:00:00";"2015-11-18 09:37:27";0
"002C0055700833024E45";"2015-11-18 00:00:00";"2015-11-18 09:47:27";0
"002C0055700833024E45";"2015-11-18 00:00:00";"2015-11-18 09:57:27";27940
"002C0055700833024E45";"2015-11-18 00:00:00";"2015-11-18 10:07:27";27940
"002C0055700833024E45";"2015-11-18 00:00:00";"2015-11-18 10:17:27";27950
"002C0055700833024E45";"2015-11-18 00:00:00";"2015-11-18 10:27:27";27960
"002C0055700833024E45";"2015-11-18 00:00:00";"2015-11-18 10:37:27";27980
"002C0055700833024E45";"2015-11-18 00:00:00";"2015-11-18 10:47:27";27950
"002C0055700833024E45";"2015-11-18 00:00:00";"2015-11-18 10:57:27";27950
"002C0055700833024E45";"2015-11-18 00:00:00";"2015-11-18 11:07:27";27970
"002C0055700833024E45";"2015-11-18 00:00:00";"2015-11-18 11:17:27";27960
"002C0055700833024E45";"2015-11-18 00:00:00";"2015-11-18 11:27:27";27980
"002C0055700833024E45";"2015-11-18 00:00:00";"2015-11-18 11:37:27";27970
"002C0055700833024E45";"2015-11-18 00:00:00";"2015-11-18 11:47:27";27980
"002C0055700833024E45";"2015-11-18 00:00:00";"2015-11-18 11:57:27";27980
"002C0055700833024E45";"2015-11-18 00:00:00";"2015-11-18 12:07:27";28000
"002C0055700833024E45";"2015-11-18 00:00:00";"2015-11-18 12:17:27";27970
"002C0055700833024E45";"2015-11-18 00:00:00";"2015-11-18 12:27:27";28010
"002C0055700833024E45";"2015-11-18 00:00:00";"2015-11-18 12:37:27";28000
"002C0055700833024E45";"2015-11-18 00:00:00";"2015-11-18 12:47:27";28000
"002C0055700833024E45";"2015-11-18 00:00:00";"2015-11-18 12:57:27";28000
"002C0055700833024E45";"2015-11-18 00:00:00";"2015-11-18 13:07:27";27990
"002C0055700833024E45";"2015-11-18 00:00:00";"2015-11-18 13:17:27";27990
"002C0055700833024E45";"2015-11-18 00:00:00";"2015-11-18 13:27:27";27990
"002C0055700833024E45";"2015-11-18 00:00:00";"2015-11-18 13:37:27";28000
"002C0055700833024E45";"2015-11-18 00:00:00";"2015-11-18 13:47:27";28020
"002C0055700833024E45";"2015-11-18 00:00:00";"2015-11-18 13:57:23";28000
"002C0055700833024E45";"2015-11-18 00:00:00";"2015-11-18 14:07:23";28010
"002C0055700833024E45";"2015-11-18 00:00:00";"2015-11-18 14:17:23";27980
"002C0055700833024E45";"2015-11-18 00:00:00";"2015-11-18 14:27:23";27980
"002C0055700833024E45";"2015-11-18 00:00:00";"2015-11-18 14:37:23";27990
"002C0055700833024E45";"2015-11-18 00:00:00";"2015-11-18 14:47:23";27990
"002C0055700833024E45";"2015-11-18 00:00:00";"2015-11-18 14:57:23";28000
"002C0055700833024E45";"2015-11-18 00:00:00";"2015-11-18 15:07:23";28000
"002C0055700833024E45";"2015-11-18 00:00:00";"2015-11-18 15:17:23";27990
"002C0055700833024E45";"2015-11-18 00:00:00";"2015-11-18 15:27:23";27980
"002C0055700833024E45";"2015-11-18 00:00:00";"2015-11-18 15:37:23";27990
"002C0055700833024E45";"2015-11-18 00:00:00";"2015-11-18 15:47:23";28020
"002C0055700833024E45";"2015-11-18 00:00:00";"2015-11-18 15:57:23";28010
"002C0055700833024E45";"2015-11-18 00:00:00";"2015-11-18 16:07:23";28000
"002C0055700833024E45";"2015-11-18 00:00:00";"2015-11-18 16:17:23";27960
"002C0055700833024E45";"2015-11-18 00:00:00";"2015-11-18 16:27:23";27990
"002C0055700833024E45";"2015-11-18 00:00:00";"2015-11-18 16:37:23";27990
"002C0055700833024E45";"2015-11-18 00:00:00";"2015-11-18 16:47:23";27970
"002C0055700833024E45";"2015-11-18 00:00:00";"2015-11-18 16:57:23";27990
"002C0055700833024E45";"2015-11-18 00:00:00";"2015-11-18 17:07:23";27980
"002C0055700833024E45";"2015-11-18 00:00:00";"2015-11-18 17:17:23";27980
"002C0055700833024E45";"2015-11-18 00:00:00";"2015-11-18 17:27:23";27980
"002C0055700833024E45";"2015-11-18 00:00:00";"2015-11-18 17:37:23";28010
"002C0055700833024E45";"2015-11-18 00:00:00";"2015-11-18 17:47:23";27970
"002C0055700833024E45";"2015-11-18 00:00:00";"2015-11-18 17:57:23";27980
"002C0055700833024E45";"2015-11-18 00:00:00";"2015-11-18 18:07:23";28010
"002C0055700833024E45";"2015-11-18 00:00:00";"2015-11-18 18:17:23";28030
"002C0055700833024E45";"2015-11-18 00:00:00";"2015-11-18 18:27:23";27980
"002C0055700833024E45";"2015-11-18 00:00:00";"2015-11-18 18:37:23";28000
"002C0055700833024E45";"2015-11-18 00:00:00";"2015-11-18 18:47:23";28000
"002C0055700833024E45";"2015-11-18 00:00:00";"2015-11-18 18:57:23";28000
"002C0055700833024E45";"2015-11-18 00:00:00";"2015-11-18 19:07:23";28040
"002C0055700833024E45";"2015-11-18 00:00:00";"2015-11-18 19:17:23";28030
"002C0055700833024E45";"2015-11-18 00:00:00";"2015-11-18 19:27:23";28000
"002C0055700833024E45";"2015-11-18 00:00:00";"2015-11-18 19:37:23";28010
"002C0055700833024E45";"2015-11-18 00:00:00";"2015-11-18 19:47:23";27980
"002C0055700833024E45";"2015-11-18 00:00:00";"2015-11-18 19:57:23";27980
"002C0055700833024E45";"2015-11-18 00:00:00";"2015-11-18 20:07:23";28010
"002C0055700833024E45";"2015-11-18 00:00:00";"2015-11-18 20:17:23";27980
"002C0055700833024E45";"2015-11-18 00:00:00";"2015-11-18 20:27:23";28010
"002C0055700833024E45";"2015-11-18 00:00:00";"2015-11-18 20:37:23";28040
"002C0055700833024E45";"2015-11-18 00:00:00";"2015-11-18 20:47:23";28000
"002C0055700833024E45";"2015-11-18 00:00:00";"2015-11-18 20:57:17";28000
"002C0055700833024E45";"2015-11-18 00:00:00";"2015-11-18 21:07:17";28050
"002C0055700833024E45";"2015-11-18 00:00:00";"2015-11-18 21:17:17";28020
"002C0055700833024E45";"2015-11-18 00:00:00";"2015-11-18 21:27:17";28000
"002C0055700833024E45";"2015-11-18 00:00:00";"2015-11-18 21:37:17";28020
"002C0055700833024E45";"2015-11-18 00:00:00";"2015-11-18 21:47:17";28020
"002C0055700833024E45";"2015-11-18 00:00:00";"2015-11-18 21:57:17";28010
"002C0055700833024E45";"2015-11-18 00:00:00";"2015-11-18 22:07:17";28030
"002C0055700833024E45";"2015-11-18 00:00:00";"2015-11-18 22:17:17";28000
"002C0055700833024E45";"2015-11-18 00:00:00";"2015-11-18 22:27:17";28030
"002C0055700833024E45";"2015-11-18 00:00:00";"2015-11-18 22:37:17";28010
"002C0055700833024E45";"2015-11-18 00:00:00";"2015-11-18 22:47:17";28000
"002C0055700833024E45";"2015-11-18 00:00:00";"2015-11-18 22:57:17";28010
"002C0055700833024E45";"2015-11-18 00:00:00";"2015-11-18 23:07:17";28040
"002C0055700833024E45";"2015-11-18 00:00:00";"2015-11-18 23:17:17";28020
"002C0055700833024E45";"2015-11-18 00:00:00";"2015-11-18 23:27:17";28000
"002C0055700833024E45";"2015-11-18 00:00:00";"2015-11-18 23:37:17";28010
"002C0055700833024E45";"2015-11-18 00:00:00";"2015-11-18 23:47:17";28020
"002C0055700833024E45";"2015-11-18 00:00:00";"2015-11-18 23:57:17";28010
"002C0055700833024E45";"2015-11-19 00:00:00";"2015-11-19 00:07:17";28030
"002C0055700833024E45";"2015-11-19 00:00:00";"2015-11-19 00:17:17";28010
"002C0055700833024E45";"2015-11-19 00:00:00";"2015-11-19 00:27:17";28010
これはスマートな解決策です。ありがとうございます。私は私の他の部分を完全に入れようとしています。 – Azathoth