1
で年齢を使用する:私は間の年齢を確認する必要がある2つのイベントタイプのIDを持っている私はこのように私のPostgreSQL 8.4データベース内のテーブル持っているのpostgresql
id(serial), event_type_id(id, foreign key), ts(timestamp)
を。
Event_type_id 1 = Arrive
Event_type_id 2 = Leaves
例データ
id | event_type_id | ts
----+---------------+----------------------------
21 | 6 | 2012-04-03 16:02:18.739274
20 | 5 | 2012-04-03 08:44:13.244287
私は日によってグループにこれらをしたいし、それがどのように多くの日あたりの時間参照してください。
誰かが年齢をグループ化して計算する方法の方向性を指摘できますか?それがベストプラクティスですが、それは私のために動作するかどう
は、これまでのところ、私はこれを持っていますが、私は ソリューション上または似たような
参加するシリーズを生成する必要が知ってはいけません。
SELECT dx, age(max(ts), min(ts))
from generate_series('2012-04-01', '2012-04-14', interval '1 day') as dx
left join events on (ts >= dx and ts < dx + '23 hours 59 minutes' and event_type_id in (5,6))
group by dx
order by dx;
'id'はテーブルの主キーですか?サンプルデータを表示できますか? –
私はあなたのスキーマを再考する必要があると感じています。イベントテーブルにタイムスタンプがあれば簡単ですか? – sathis
サンプルデータと私の現在のSQLを持つ投稿を編集してください – heldt