エポックタイムスタンプでインデックス付けされた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 の間にシステムでトランザクションがあった場合、私はそれを見逃すでしょう. 任意の助けをいただければ幸いです。