0

エポックタイムスタンプでインデックス付けされたpostgresのテーブルがあります....今、このテーブルをクエリして、特定の日付間のイベントの数を取得したいです... postgresでクエリを作成しましたが、よくわかりません休止状態でネイティブのpostgresクエリを記述せずに、休止状態でこれを達成するにはどうすればよいですか....

私のテーブル構造は

event
-----------------
id,      created,     updated,    event_type,     source_machine         timestamp
1       07.05.2011                  event1                machine1        938970822
2       07.05.2011                  event2                machine2       1332949476
3       07.05.2011             NullPointerException       machine2        648034359
4       06.05.2011                  event2                machine2       1173340611
5       06.05.2011                  event1                machine1       1391797768
6       05.05.2011                  event2                machine1       849970844
7       04.05.2011                  event1                machine2        
*Currently, table has 10k rows.

参考:これには CREATED 列を使用できません。タイムスタンプのみを使用する必要があります...これまでのところ、postgres で作成したクエリは...

select event_type,to_char(to_timestamp(timestamp),'YYYY-MM-DD') AS date_range,count(*) from event where to_char(to_timestamp(timestamp),'YYYY-MM-DD') between to_char(to_timestamp(549788400),'YYYY-MM-DD') and to_char(to_timestamp(1403247600),'YYYY-MM-DD') and event.machine = 'machine1' group by event_type,to_char(to_timestamp(timestamp),'YYYY-MM-DD');

たとえば、使用しない場合は「to_char」を使用する必要があります。「2010-03-31 23:59:59.」境界条件は潜在的に危険です: 23:59:59 と 00:00:00 の間にシステムでトランザクションがあった場合、私はそれを見逃すでしょう. 任意の助けをいただければ幸いです。

4

1 に答える 1