2017-09-14 18 views
0

で分離日時:私はこのようなテーブルを持っている日時スタンプ

enter image description here

私は、毎秒または分間隔言うの金額の合計を見つける必要があります。私はこれにxbarを使ってみましたが、データと日付と時刻を分けることができません。

また、指定した時間間隔でアカウントを集計するコマンドを追加する方法についてもお聞きしたいと思います。

答えて

1

正しいですか。このグループ化にはxbarを使用できます。次に、合計関数を使用して、作成された各グループを集計することができます。タイム・カラム(タイムスタンプは整数ベース)でグループ化します。

select sum Amount by Time from t 

は、下記の詳細を参照してください:

q})t: ([] Amount:`int$(); Time:`timestamp$()); 
q)show meta t 
c  | t f a 
------| ----- 
Amount| i 
Time | p 

、次のデータを使用して::

q)`t insert (10?100;asc .z.p+10?00:10) 
q)show t 
Amount Time 
------------------------------------ 
58  2017.09.14D10:44:48.992850000 
68  2017.09.14D10:44:48.992850000 
45  2017.09.14D10:47:48.992850000 
2  2017.09.14D10:48:48.992850000 
... 

次にあなたがグループへのxbarを使用することができ、あなたの表は、このようなものである場合

を毎分間隔でテーブル:

秒間隔で

q)select sum Amount by 5 xbar Time.minute from t 
minute| Amount 
------| ------ 
10:40 | 126 
10:45 | 199 
10:50 | 210 

またはグループに:

q)select sum Amount by 5 xbar Time.second from t 
second | Amount 
--------| ------ 
10:44:45| 126 
10:47:45| 45 
10:48:45| 41 
10:49:45| 113 
... 

金額列の値は、グループごとに加算され5分間隔で

q)select sum Amount by 1 xbar Time.minute from t 
minute| Amount 
------| ------ 
10:44 | 126 
10:47 | 45 
10:48 | 41 
10:49 | 113 
... 

またはグループに。サイドノートとして

、次のことができ、時間列内の個別値によってグループ:

q)select sum Amount by Time from t 
Time       | Amount 
-----------------------------| ------ 
2017.09.14D10:44:48.992850000| 126 
2017.09.14D10:47:48.992850000| 45 
2017.09.14D10:48:48.992850000| 41 
2017.09.14D10:49:48.992850000| 113 
2017.09.14D10:51:48.992850000| 122 
2017.09.14D10:52:48.992850000| 88 

感謝。

関連する問題