0
SQL結果(Vertica)からヒストグラムを作成したいと思います。 これを行うにはWIDTH_BUCKETを使用しました。SQLからヒストグラムを作成
基本的に、私がアプローチする方法は、event_Xとevent_Yのタイムスタンプを取得し、各イベントでターゲット値が一致するようにすることです。その後、各イベントのタイムスタンプの差を取る。
select _time, WIDTH_BUCKET(_time, 600, 86400, 100) as histogram
from(
select (a.ts - b.ts) as _time
FROM table.e a, table.e b
WHERE a.server_date between current_date - 60 and current_date -1
AND a.event_name = 'event_X'
AND b.event_name = 'event_Y'
and ((a.ts - b.ts) > INTERVAL '5 minutes' and (a.ts - b.ts) < INTERVAL '24 hours')
AND a.target = b.target
)x
group by 1
order by 1 ASC
ただし、これは次のエラーを返します。
a.ts-b.tsは、tsが時間データ型であるため、時間スタンプのINTERVALデータ型です。 なぜ私はこのエラーが発生しているのか分かりません。
誰かが私のSQL上で何が間違っているのかを明確にすることができれば、本当に感謝しています。
ちょうど確信するためには、正しい権限を持っていますか? – 0x11
はい。私はWIDTH_BUCKETで別のクエリを実行し、それは働いた。それはINTERVAL値を持っていませんでした。ちょうど普通の数値です。この特定のクエリは上記のエラーを返します。 –
私が間違っている場合は私を訂正しますが、このテーブルの異なるレコードでは '_time'が違うでしょうか?バケットはレコードごとに異なる間隔を持つことはできません。 – 0x11